symfony / mailer
Helps sending emails
Fund package maintenance!
fabpot
Tidelift
symfony.com/sponsor
Installs: 200 041 390
Dependents: 724
Suggesters: 16
Security: 0
Stars: 1 488
Watchers: 15
Forks: 46
Requires
- php: >=8.2
- egulias/email-validator: ^2.1.10|^3|^4
- psr/event-dispatcher: ^1
- psr/log: ^1|^2|^3
- symfony/event-dispatcher: ^6.4|^7.0
- symfony/mime: ^7.2
- symfony/service-contracts: ^2.5|^3
Requires (Dev)
- symfony/console: ^6.4|^7.0
- symfony/http-client: ^6.4|^7.0
- symfony/messenger: ^6.4|^7.0
- symfony/twig-bridge: ^6.4|^7.0
Conflicts
- symfony/http-client-contracts: <2.5
- symfony/http-kernel: <6.4
- symfony/messenger: <6.4
- symfony/mime: <6.4
- symfony/twig-bridge: <6.4
- 7.2.x-dev
- v7.2.0-RC1
- v7.2.0-BETA1
- 7.1.x-dev
- v7.1.6
- v7.1.5
- v7.1.2
- v7.1.1
- v7.1.0
- v7.1.0-RC1
- v7.1.0-BETA1
- 7.0.x-dev
- v7.0.9
- v7.0.8
- v7.0.7
- v7.0.6
- v7.0.4
- v7.0.3
- v7.0.2
- v7.0.0
- v7.0.0-RC1
- v7.0.0-BETA3
- v7.0.0-BETA1
- 6.4.x-dev
- v6.4.13
- v6.4.12
- v6.4.9
- v6.4.8
- v6.4.7
- v6.4.6
- v6.4.4
- v6.4.3
- v6.4.2
- v6.4.0
- v6.4.0-RC1
- v6.4.0-BETA3
- v6.4.0-BETA1
- 6.3.x-dev
- v6.3.12
- v6.3.11
- v6.3.5
- v6.3.0
- v6.3.0-RC1
- v6.3.0-BETA1
- 6.2.x-dev
- v6.2.12
- v6.2.8
- v6.2.7
- v6.2.5
- v6.2.2
- v6.2.1
- v6.2.0
- v6.2.0-RC2
- v6.2.0-RC1
- v6.2.0-BETA3
- v6.2.0-BETA2
- v6.2.0-BETA1
- 6.1.x-dev
- v6.1.11
- v6.1.9
- v6.1.8
- v6.1.7
- v6.1.5
- v6.1.4
- v6.1.3
- v6.1.2
- v6.1.1
- v6.1.0
- v6.1.0-RC1
- v6.1.0-BETA2
- v6.1.0-BETA1
- 6.0.x-dev
- v6.0.19
- v6.0.17
- v6.0.16
- v6.0.15
- v6.0.13
- v6.0.12
- v6.0.11
- v6.0.10
- v6.0.8
- v6.0.7
- v6.0.5
- v6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v6.0.0-RC1
- v6.0.0-BETA1
- 5.4.x-dev
- v5.4.45
- v5.4.44
- v5.4.41
- v5.4.40
- v5.4.39
- v5.4.38
- v5.4.36
- v5.4.35
- v5.4.34
- v5.4.31
- v5.4.22
- v5.4.21
- v5.4.19
- v5.4.17
- v5.4.16
- v5.4.15
- v5.4.13
- v5.4.12
- v5.4.11
- v5.4.10
- v5.4.8
- v5.4.7
- v5.4.5
- v5.4.3
- v5.4.2
- v5.4.0
- v5.4.0-RC1
- v5.4.0-BETA1
- 5.3.x-dev
- v5.3.14
- v5.3.13
- v5.3.9
- v5.3.4
- v5.3.3
- v5.3.0
- v5.3.0-RC1
- v5.3.0-BETA4
- v5.3.0-BETA2
- v5.3.0-BETA1
- 5.2.x-dev
- v5.2.12
- v5.2.11
- v5.2.10
- v5.2.7
- v5.2.6
- v5.2.5
- v5.2.4
- v5.2.3
- v5.2.2
- v5.2.1
- v5.2.0
- v5.2.0-RC2
- v5.2.0-RC1
- v5.2.0-BETA3
- v5.2.0-BETA2
- v5.2.0-BETA1
- 5.1.x-dev
- v5.1.11
- v5.1.10
- v5.1.9
- v5.1.8
- v5.1.7
- v5.1.6
- v5.1.5
- v5.1.4
- v5.1.3
- v5.1.2
- v5.1.1
- v5.1.0
- v5.1.0-RC2
- v5.1.0-RC1
- v5.1.0-BETA1
- 5.0.x-dev
- v5.0.11
- v5.0.10
- v5.0.9
- v5.0.8
- v5.0.7
- v5.0.6
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v5.0.0-RC1
- v5.0.0-BETA2
- v5.0.0-BETA1
- 4.4.x-dev
- v4.4.49
- v4.4.48
- v4.4.46
- v4.4.45
- v4.4.44
- v4.4.43
- v4.4.41
- v4.4.40
- v4.4.38
- v4.4.37
- v4.4.36
- v4.4.27
- v4.4.26
- v4.4.25
- v4.4.22
- v4.4.21
- v4.4.20
- v4.4.19
- v4.4.18
- v4.4.17
- v4.4.16
- v4.4.15
- v4.4.14
- v4.4.13
- v4.4.12
- v4.4.11
- v4.4.10
- v4.4.9
- v4.4.8
- v4.4.7
- v4.4.6
- v4.4.5
- v4.4.4
- v4.4.3
- v4.4.2
- v4.4.1
- v4.4.0
- v4.4.0-RC1
- v4.4.0-BETA2
- v4.4.0-BETA1
- 4.3.x-dev
- v4.3.11
- v4.3.10
- v4.3.9
- v4.3.8
- v4.3.7
- v4.3.6
- v4.3.5
- v4.3.4
- v4.3.3
- v4.3.2
- v4.3.1
- v4.3.0
- v4.3.0-RC1
- v4.3.0-BETA2
- v4.3.0-BETA1
This package is auto-updated.
Last update: 2024-11-13 15:16:38 UTC
README
The Mailer component helps sending emails.
Getting Started
composer require symfony/mailer
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
:
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);