Search by

symfony / amazon-mailer

fabpot

Symfony Amazon Mailer Bridge

Package info

github.com/symfony/amazon-mailer

Homepage

Type:symfony-mailer-bridge

pkg:composer/symfony/amazon-mailer

Statistics

Installs: 13 704 277

Dependents: 34

Suggesters: 16

Stars: 78

v8.1.5 2026-08-21 17:47 UTC

This package is auto-updated.

Last update: 2026-09-18 10:05:34 UTC


README

Provides Amazon SES integration for Symfony Mailer.

Configuration example:

# SMTP
MAILER_DSN=ses+smtp://USERNAME:PASSWORD@default:PORT?region=REGION&session_token=SESSION_TOKEN&tenant=TENANT

# HTTP
MAILER_DSN=ses+https://ACCESS_KEY:SECRET_KEY@default?region=REGION&session_token=SESSION_TOKEN&tenant=TENANT

# API
MAILER_DSN=ses+api://ACCESS_KEY:SECRET_KEY@default?region=REGION&session_token=SESSION_TOKEN&tenant=TENANT

where:

  • ACCESS_KEY is your Amazon SES access key id
  • SECRET_KEY is your Amazon SES access key secret
  • REGION is Amazon SES selected region (optional, default eu-west-1)
  • SESSION_TOKEN is your Amazon SES session token (optional)
  • PORT is the port you want to communicate to SES with (optional, default 465)
  • TENANT is the Amazon SES tenant name to send on behalf of, for tenant management (optional). It can be overridden per message with an X-SES-TENANT header, which takes precedence over the DSN option. Every tenant must have a default configuration set associated with it in the AWS console, which is used automatically when no X-SES-CONFIGURATION-SET header is set on the message; set that header to use a different configuration set for a specific send.

For the ses+smtp / ses+smtps schemes, the PORT value selects the TLS mode:

  • 465 and 2465 use implicit TLS (TLS wrapper mode);
  • any other port (typically 587 or 2587) starts in clear text and upgrades via STARTTLS. The transport enforces setRequireTls(true) on those ports by default, so the SMTP session aborts if the server does not advertise STARTTLS.

Set require_tls=0 on the DSN to opt out of the STARTTLS requirement (not recommended; only useful when an operator-controlled middlebox strips the STARTTLS extension and the network path is trusted). Set require_tls=1 to enforce STARTTLS even on the implicit-TLS ports.

Sponsor

This package is looking for a backer.

Help Symfony by sponsoring its development!

Resources