88 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
Mailer Component
 | 
						|
================
 | 
						|
 | 
						|
The Mailer component helps sending emails.
 | 
						|
 | 
						|
Getting Started
 | 
						|
---------------
 | 
						|
 | 
						|
```bash
 | 
						|
composer require symfony/mailer
 | 
						|
```
 | 
						|
 | 
						|
```php
 | 
						|
use Symfony\Component\Mailer\Transport;
 | 
						|
use Symfony\Component\Mailer\Mailer;
 | 
						|
use Symfony\Component\Mime\Email;
 | 
						|
 | 
						|
$transport = Transport::fromDsn('smtp://localhost');
 | 
						|
$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\Bridge\Twig\Mime\TemplatedEmail;
 | 
						|
use Symfony\Component\EventDispatcher\EventDispatcher;
 | 
						|
use Symfony\Component\Mailer\EventListener\MessageListener;
 | 
						|
use Symfony\Component\Mailer\Mailer;
 | 
						|
use Symfony\Component\Mailer\Transport;
 | 
						|
use Twig\Environment as TwigEnvironment;
 | 
						|
 | 
						|
$twig = new TwigEnvironment(...);
 | 
						|
$messageListener = new MessageListener(null, new BodyRenderer($twig));
 | 
						|
 | 
						|
$eventDispatcher = new EventDispatcher();
 | 
						|
$eventDispatcher->addSubscriber($messageListener);
 | 
						|
 | 
						|
$transport = Transport::fromDsn('smtp://localhost', $eventDispatcher);
 | 
						|
$mailer = new Mailer($transport, null, $eventDispatcher);
 | 
						|
 | 
						|
$email = (new TemplatedEmail())
 | 
						|
    // ...
 | 
						|
    ->htmlTemplate('emails/signup.html.twig')
 | 
						|
    ->context([
 | 
						|
        'expiration_date' => new \DateTimeImmutable('+7 days'),
 | 
						|
        'username' => 'foo',
 | 
						|
    ])
 | 
						|
;
 | 
						|
$mailer->send($email);
 | 
						|
```
 | 
						|
 | 
						|
Sponsor
 | 
						|
-------
 | 
						|
 | 
						|
The Mailer component for Symfony 7.2 is [backed][1] by:
 | 
						|
 | 
						|
 * [Sweego][2], a European email and SMS sending platform for developers and product builders. Easily create, deliver, and monitor your emails and notifications.
 | 
						|
 | 
						|
Help Symfony by [sponsoring][3] its development!
 | 
						|
 | 
						|
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)
 | 
						|
   in the [main Symfony repository](https://github.com/symfony/symfony)
 | 
						|
 | 
						|
[1]: https://symfony.com/backers
 | 
						|
[2]: https://www.sweego.io/
 | 
						|
[3]: https://symfony.com/sponsor
 |