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.
|
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
|
Resources
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
* [Documentation](https://symfony.com/doc/current/mailer.html)
|
||||||
* [Contributing](https://symfony.com/doc/current/contributing/index.html)
|
* [Contributing](https://symfony.com/doc/current/contributing/index.html)
|
||||||
* [Report issues](https://github.com/symfony/symfony/issues) and
|
* [Report issues](https://github.com/symfony/symfony/issues) and
|
||||||
[send Pull Requests](https://github.com/symfony/symfony/pulls)
|
[send Pull Requests](https://github.com/symfony/symfony/pulls)
|
||||||
|
Reference in New Issue
Block a user