Skip to content

Latest commit

 

History

History
206 lines (123 loc) · 6.17 KB

emails.rst

File metadata and controls

206 lines (123 loc) · 6.17 KB

single: E-Mails

E-Mails

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 SyliusMailerBundle documentation </components_and_bundles/bundles/SyliusMailerBundle/index>. And to learn more about mailer services configuration, read the dedicated cookbook </cookbook/emails/mailer>.

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: SyliusShopBundle:Email:userRegistration.html.twig

You also have the following parameters available:

  • user: Instance of the user model

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: SyliusShopBundle:Email:verification.html.twig

You also have the following parameters available:

  • user: Instance of the user model

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: SyliusShopBundle:Email:passwordReset.html.twig

You also have the following parameters available:

  • user: Instance of the user model

Order Confirmation

This e-mail is sent when order is placed.

Code: order_confirmation

The default template: SyliusShopBundle:Email:orderConfirmation.html.twig

You also have the following parameters available:

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

Shipment Confirmation

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

Code: shipment_confirmation

The default template: SyliusAdminBundle:Email:shipmentConfirmation.html.twig

You have the following parameters available:

  • shipment: Shipment instance
  • order: Instance of the order, with all its data

plus-doc

Return Requests Emails

Hint

What are Return Requests? Check here </book/orders/returns>!

Return Request Confirmation

This email is sent after 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 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

image

How to send an Email programmatically?

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

Tip

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, ['bannanowa@gmail.com'], ['user' => $user]);

Example using EmailManager:

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

$orderEmailManager->sendConfirmationEmail($order);

Learn more

  • Mailer - Component Documentation </components_and_bundles/components/Mailer/index>
  • Mailer - Bundle Documentation </components_and_bundles/bundles/SyliusMailerBundle/index>