symfony / mailer
Helps sending emails
v8.1.0
2026-05-29 05:06 UTC
Requires
- php: >=8.4.1
- egulias/email-validator: ^2.1.10|^3|^4
- psr/event-dispatcher: ^1
- psr/log: ^1|^2|^3
- symfony/event-dispatcher: ^7.4|^8.0
- symfony/mime: ^7.4|^8.0
- symfony/service-contracts: ^2.5|^3
Requires (Dev)
- symfony/console: ^7.4|^8.0
- symfony/http-client: ^7.4|^8.0
- symfony/messenger: ^7.4|^8.0
- symfony/twig-bridge: ^7.4|^8.0
Conflicts
This package is auto-updated.
Last update: 2026-06-06 11:12:36 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);
Sponsor
This package is looking for a backer.
Help Symfony by sponsoring its development!