SyliusCon 2025
Early Bird Deal
LogoLogo
🛣️ Roadmap💻 Sylius Demo💬 Community Slack
  • Sylius Documentation
  • Sylius Plugins
  • Sylius Stack
  • 📖Sylius 2.0 Documentation
    • Organization
      • Release Cycle
      • Backwards Compatibility Promise
      • Sylius Team
      • Sylius Roadmap
  • Getting Started with Sylius
    • Installation
    • Basic Configuration
    • Shipping & Payment
    • First Product
    • Customizing the Shop
    • Customizing Business Logic
    • Using API
    • Installing Plugins
    • Deployment
    • Summary
  • The Book
    • Introduction to Sylius
    • Installation
      • System Requirements
      • Sylius CE Installation
        • Sylius CE Installation with Docker
      • ➕Sylius Plus Installation
      • Upgrading Sylius CE
      • Upgrading Sylius Plus
    • Architecture
      • Architecture Overview
      • Architectural Drivers
      • Resource Layer
      • State Machine
      • Translations
      • E-Mails
      • Contact
      • Fixtures
      • Events
    • Configuration
      • Channels
      • Locales
      • Currencies
    • Customers
      • Customer & ShopUser
      • ➕Customer Pools
      • AdminUser
      • Addresses
        • Countries
        • Zones
        • Addresses
        • Address Book
    • Products
      • Products
      • Product Reviews
      • Product Associations
      • Attributes
      • Pricing
      • Catalog Promotions
      • Taxons
      • Inventory
      • ➕Multi-Source Inventory
      • Search
    • Carts & Orders
      • Orders
      • Cart flow
      • Taxation
      • Adjustments
      • Cart Promotions
      • Coupons
      • Payments
      • 🧩Invoices
      • Shipments
    • Support
    • Contributing
      • Contributing Code
        • Submitting a Patch
        • ⚠️Security Issues
        • Coding Standards
        • Conventions
        • Sylius License and Trademark
      • Contributing Translations
      • Key Contributors
  • The Customization Guide
    • Customizing Models
      • How to add a custom model?
      • How to add a custom translatable model?
    • Customizing Forms
      • How to add a live form for a custom model?
    • Customizing Styles
    • Customizing Validation
    • Customizing Menus
    • Customizing Templates
    • Customizing Translations
    • Customizing Flashes
    • Customizing State Machines
    • Customizing Grids
    • Customizing Fixtures
    • Customizing API
    • Customizing Serialization of API
    • Customizing Payments
      • How to integrate a Payment Gateway as a Plugin?
  • 🧑‍🍳The Cookbook
  • How to resize images?
  • How to add one image to an entity?
  • How to add multiple images to an entity?
  • Sylius 1.X Documentation
    • 📓Sylius 1.x Documentation
Powered by GitBook
LogoLogo

Developer

  • Community
  • Online Course

About

  • Team

© 2025 Sylius. All Rights Reserved

On this page
  • User Confirmation
  • Email Verification
  • Password Reset
  • Order Confirmation
  • Shipment Confirmation
  • Contact Request
  • Sylius Plus: Return Requests Emails
  • How to send an Email programmatically?
  • Learn more

Was this helpful?

Edit on GitHub
  1. The Book
  2. Architecture

E-Mails

PreviousTranslationsNextContact

Last updated 5 months ago

Was this helpful?

Sylius is sending various e-mails and this chapter is a reference about all of them. Continue reading to learn what e-mails are sent, when, and how to customize the templates. To understand how e-mail sending works internally, please refer to . To learn more about mailer services configuration, read the dedicated .

User Confirmation

Every time a customer registers via the registration form, a user registration e-mail is sent to them.

Code: user_registration

The default template: @SyliusShop/Email/userRegistration.html.twig

You also have the following parameters available:

  • user: Instance of the user model

  • channel: Currently used channel

  • localeCode: Currently used locale code

Email Verification

When a customer registers via the registration form, besides the User Confirmation an Email Verification is sent.

Code: verification_token

The default template: @SyliusShop/Email/verification.html.twig

You also have the following parameters available:

  • user: Instance of the user model

  • channel: Currently used channel

  • localeCode: Currently used locale code

Password Reset

This e-mail is used when the user requests to reset their password in the login form.

Code: reset_password_token

The default template: @SyliusShop/Email/passwordReset.html.twig

You also have the following parameters available:

  • user: Instance of the user model

  • channel: Currently used channel

  • localeCode: Currently used locale code

Order Confirmation

This e-mail is sent when an order is placed.

Code: order_confirmation

The default template: @SyliusShop/Email/orderConfirmation.html.twig

You also have the following parameters available:

  • order: Instance of the order, with all its data

  • channel: Channel in which an order was placed

  • localeCode: Locale code in which an order was placed

Shipment Confirmation

This e-mail is sent when the order’s shipping process has started.

Code: shipment_confirmation

The default template: @SyliusAdmin/Email/shipmentConfirmation.html.twig

You have the following parameters available:

  • shipment: Shipment instance

  • order: Instance of the order, with all its data

  • channel: Channel in which an order was placed

  • localeCode: Locale code in which an order was placed

Contact Request

This e-mail is sent when a customer validates the contact form.

Code: contact_request

The default template: @SyliusShop/Email/contactRequest.html.twig

You have the following parameters available:

  • data: An array of submitted data from a form

  • channel: Channel in which an order was placed

  • localeCode: Locale code in which an order was placed

Sylius Plus: Return Requests Emails

Return Request Confirmation

This email is sent after a return request has been created by a customer.

Code: sylius_plus_return_request_confirmation

The default template: @SyliusPlusPlugin/Returns/Infrastructure /Resources/views/Emails/returnRequestConfirmation.html.twig

Parameters:

  • order - for which the return request has been created

Return Request Acceptation

This email is sent when the administrator accepts a return request.

Code: sylius_plus_return_request_accepted

The default template: @SyliusPlusPlugin/Returns/Infrastructure /Resources/views/Emails/returnRequestAcceptedNotification.html.twig

Parameters:

  • returnRequest which has been accepted

  • order of the accepted return request

Return Request Rejection

This email is sent when the administrator rejects a return request.

Code: sylius_plus_return_request_rejected

The default template: @SyliusPlusPlugin/Returns/Infrastructure /Resources/views/Emails/returnRequestRejectedNotification.html.twig

Parameters:

  • returnRequest which has been rejected

  • order of the rejected return request

Return Request Resolution Change

This email is sent when the administrator changes the return request’s resolution proposed by a customer.

Code: sylius_plus_return_request_resolution_changed

The default template: @SyliusPlusPlugin/Returns/Infrastructure /Resources/views/Emails/returnRequestResolutionChangedNotification.html.twig

Parameters:

  • returnRequest whose resolution has been changed

  • order of the modified return request

Return Request: Repaired Items Sent

This email is sent when the administrator marks that a return request’s repaired items have been sent back to the Customer.

Code: sylius_plus_return_request_repaired_items_sent

The default template: @SyliusPlusPlugin/Returns/Infrastructure /Resources/views/Emails/returnRequestRepairedItemsSentNotification.html.twig

Parameters:

  • returnRequest of which the items were sent

  • order of the return request

How to send an Email programmatically?

While using Sender you have the available emails of Sylius available under constants in:

Example using Sender:

/** @var SenderInterface $sender */
$sender = $this->container->get('sylius.email_sender');

$sender->send(\Sylius\Bundle\UserBundle\Mailer\Emails::EMAIL_VERIFICATION_TOKEN, ['[email protected]'], ['user' => $user, 'channel' => $channel, 'localeCode' => $localeCode]);

Example using EmailManager:

/** @var OrderEmailManagerInterface $sender */
$orderEmailManager = $this->container->get('sylius.email_manager.order');

$orderEmailManager->sendConfirmationEmail($order);

Learn more

What are Return Requests? Check !

For sending emails Sylius is using a dedicated service - Sender. Additionally, we have EmailManagers for Order Confirmation () and Shipment Confirmation ().

SyliusMailerBundle documentation
cookbook
here
OrderEmailManager
ShipmentEmailManager
Core - Emails
User - Emails
Mailer - Documentation