> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Email from Symfony with the turboSMTP Mailer Bridge

> Check the upcoming Symfony 8.2 turboSMTP bridge and configure standard SMTP with Consumer Key and Consumer Secret today.

**Status: Merged upstream for the upcoming Symfony 8.2 release.** The bridge source supports the HTTP API, SMTP relay, EU endpoints, and delivery webhooks through Symfony's RemoteEvent component.

> [!NOTE]
>
> Checked on 27 October 2026: [Symfony 8.2 is under development](https://symfony.com/releases/8.2), with release planned for November 2026. [Packagist currently lists a development version](https://packagist.org/packages/symfony/turbo-smtp-mailer). The bridge configuration below is for that upcoming release.

## Use standard SMTP today

Existing Symfony Mailer versions can use turboSMTP through their built-in SMTP transport:

```bash .env theme={"system"}
# Global, STARTTLS on port 587
MAILER_DSN=smtp://KEY:SECRET@pro.turbo-smtp.com:587

# EU, STARTTLS on port 587
MAILER_DSN=smtp://KEY:SECRET@pro.eu.turbo-smtp.com:587
```

Use your Consumer Key as `KEY` and Consumer Secret as `SECRET`. URL-encode credentials that contain reserved URI characters. Both hosts support STARTTLS on 587 or 2525 and implicit TLS on 465 or 25025; port 25 is also available.

## Install the bridge after its stable release

Once a stable version is published and compatible with your application:

```bash theme={"system"}
composer require symfony/turbo-smtp-mailer
```

## Choose a transport

Set `MAILER_DSN` in your `.env` file. Replace `KEY` and `SECRET` with your [Consumer Key and Consumer Secret](/docs/get-started/api-keys.md).

```bash .env theme={"system"}
# HTTP API, Global
MAILER_DSN=turbosmtp+api://KEY:SECRET@default

# HTTP API, EU
MAILER_DSN=turbosmtp+api://KEY:SECRET@api.eu.turbo-smtp.com

# SMTP relay, Global
MAILER_DSN=turbosmtp+smtp://KEY:SECRET@default

# SMTP relay, EU
MAILER_DSN=turbosmtp+smtp://KEY:SECRET@pro.eu.turbo-smtp.com
```

> [!TIP]
>
> The bridge's SMTP transport defaults to port 587 with STARTTLS on both hosts. Use the EU DSNs for the European sending endpoint. See [base URLs](/docs/api-reference/base-urls.md).

## Send the first message

```php theme={"system"}
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Email;

$email = (new Email())
    ->from('noreply@your-domain.example')
    ->to('developer@example.com')
    ->subject('Hello from Symfony')
    ->text('The TurboSMTP bridge is working.');

$mailer->send($email);
```

## Delivery events

The upcoming bridge includes a `turbosmtp` webhook parser and RemoteEvent converter. Configure the callback under **Settings → Notifications → Webhooks → Edit**, subject to your plan and event availability. Requests are unsigned; configure HTTP Basic credentials in the callback URL and the matching route secret. See [webhooks](/docs/analytics/webhooks.md).

## Resources

> [card] [Bridge Source](https://github.com/symfony/symfony/tree/8.2/src/Symfony/Component/Mailer/Bridge/TurboSmtp)
>
> Full source code and complete configuration options.

> [card] [Merged Pull Request](https://github.com/symfony/symfony/pull/64916)
>
> The Symfony pull request that added the turboSMTP bridge.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.