symfony/mailer

Helps sending emails

Maintainers

👁 fabpot

Package info

github.com/symfony/mailer

Homepage

pkg:composer/symfony/mailer

Statistics

Installs: 403 193 265

Dependents: 1 051

Suggesters: 46

Stars: 1 596

v8.1.0 2026-05-29 05:06 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Replaces

None

MIT 9418d772df3a03a142e3bc06f602adb2b8724877

This package is auto-updated.

Last update: 2026-06-16 13:15:11 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!

Resources