minor #37542 [Mailer] Updated README for the Mailer component (wouterj)
This PR was merged into the 4.4 branch.
Discussion
----------
[Mailer] Updated README for the Mailer component
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | n/a
| License | MIT
| Doc PR | symfony/symfony-docs#13945
I think it's worth adding a second example showcasing the twig integration for 2 reasons:
* If you're used to use this component in the framework, I think it's likely you want Twig integration in standalone apps.
* The integration actually lives in `symfony/twig-bridge`, it won't be very easy to catch while reading the component code - unless you're very comfortable with the Symfony architecture.
Commits
-------
696560c690
Updated README for the Mailer component
This commit is contained in:
commit
203ed71ec1
@ -3,9 +3,66 @@ Mailer Component
|
||||
|
||||
The Mailer component helps sending emails.
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
```
|
||||
$ composer require symfony/mailer
|
||||
```
|
||||
|
||||
```php
|
||||
use Symfony\Component\Mailer\Transport;
|
||||
use Symfony\Component\Mailer\Mailer;
|
||||
|
||||
$transport = Transport::fromDsn('sendgrid://KEY@default');
|
||||
$mailer = new Mailer($transport);
|
||||
|
||||
$email = (new Email())
|
||||
->from('hello@example.com')
|
||||
->to('you@example.com')
|
||||
//->cc('cc@example.com')
|
||||
//->bcc('bcc@example.com')
|
||||
//->replyTo('fabien@example.com')
|
||||
//->priority(Email::PRIORITY_HIGH)
|
||||
->subject('Time for Symfony Mailer!')
|
||||
->text('Sending emails is fun again!')
|
||||
->html('<p>See Twig integration for better HTML integration!</p>');
|
||||
|
||||
$mailer->send($email);
|
||||
```
|
||||
|
||||
To enable the Twig integration of the Mailer, require `symfony/twig-bridge` and
|
||||
set up the `BodyRenderer`:
|
||||
|
||||
```php
|
||||
use Symfony\Bridge\Twig\Mime\BodyRenderer;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
use Symfony\Component\Mailer\EventListener\MessageListener;
|
||||
use Twig\Environment as TwigEnvironment;
|
||||
|
||||
$twig = new TwigEnvironment(...);
|
||||
$messageListener = new MessageListener(new BodyRenderer($twig));
|
||||
|
||||
$eventDispatcher = new EventDispatcher();
|
||||
$eventDispatcher->addSubscriber($messageListener);
|
||||
|
||||
$mailer = new Mailer($transport, null, $eventDispatcher);
|
||||
|
||||
$email = (new TemplatedEmail())
|
||||
// ...
|
||||
->htmlTemplate('emails/signup.html.twig')
|
||||
->context([
|
||||
'expiration_date' => new \DateTime('+7 days'),
|
||||
'username' => 'foo',
|
||||
])
|
||||
;
|
||||
$mailer->mail($email);
|
||||
```
|
||||
|
||||
Resources
|
||||
---------
|
||||
|
||||
* [Documentation](https://symfony.com/doc/current/mailer.html)
|
||||
* [Contributing](https://symfony.com/doc/current/contributing/index.html)
|
||||
* [Report issues](https://github.com/symfony/symfony/issues) and
|
||||
[send Pull Requests](https://github.com/symfony/symfony/pulls)
|
||||
|
Reference in New Issue
Block a user