Download the PHP package etailors/mautic-amazon-ses without Composer
On this page you can find all versions of the php package etailors/mautic-amazon-ses. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download etailors/mautic-amazon-ses
More information about etailors/mautic-amazon-ses
Files in etailors/mautic-amazon-ses
Package mautic-amazon-ses
Short Description Amazon SES Mailer Plugin for Mautic
License GPL-3.0-or-later
Informations about the package mautic-amazon-ses
Mautic AWS SES Plugin with SNS Callback
This plugin provides integration between Mautic 5, 6 and 7 and Amazon SES for sending emails through AWS. It also integrates with Amazon SNS for handling email feedback such as bounces and complaints via callbacks. (PHP >= 8.1 required; Note: Mautic 7 itself requires PHP 8.2)
This is a custom plugin inspired by the structure of:
Feel free to suggest improvements or provide feedback — this is my first Mautic plugin and community contributions are welcome.
Features
- Send emails through Amazon SES using the API.
- Support for setting AWS regions and optional custom rate limits in the DSN.
- Integration with Amazon SNS to process bounces and complaints via callback.
- Built-in rate limiting to honor SES sending quotas.
- Dynamic batch size matching the current SES max send rate.
- Auto-fetch and cache your SES sending quota.
- Manual override of rate limit with
ratelimitDSN option. - Optional retry handling for partial email failures.
Installation
1. Download and Install the Plugin
Install manual
-
Download or clone the repository to your Mautic plugins directory:
-
Clear Mautic’s cache:
- Go to Mautic Settings > Plugins and click the “Install/Update Plugins” button.
Install via Composer
If you prefer installing via Composer, run the following command from your Mautic root directory:
Version number
Then clear the cache and reload the plugins:
Note:
The plugin will automatically install intoplugins/AmazonSesBundle.
2. Configure Amazon SES Settings
- In Mautic, navigate to Settings > Email Settings.
- Select the newly installed AWS SES option.
-
In the DSN field, enter your connection string in the following format:
- Replace
<AWS_ACCESS_KEY>and<AWS_SECRET_KEY>with your AWS credentials. - Replace
<AWS_REGION>with your AWS region (e.g.,us-east-1). - Optionally set
ratelimitto override the SES max send rate manually. - Set
sns_topic_arnto the exact SNS topic ARN used for feedback. The callback fails closed when no allowed topic is configured. For multiple topics, setamazon_ses_sns_topic_arnsas an array in Mautic's local configuration.
- Replace
- Set the region in the
optionsparameter, for example:

3. AWS SES Configuration
- Ensure that you have verified your domain and email addresses in AWS SES.
-
Set up the appropriate IAM user with permissions to send emails via SES.
Please make sure you create a new IAM user directly via IAM instead of upgrading an SMTP user with the permission: sending via SES API.There are known issues when upgrading SMTP-only users — see: issue #28.
Your IAM user must have permission to send and get account limits. Here’s an example policy:
4. Available Regions
SNS Callback Configuration
To receive feedback from Amazon SES regarding bounces and complaints, you need to set up Amazon SNS.
- Go to your Amazon SNS Dashboard.
- Create a new Topic (or use an existing one) for SES feedback.
-
Subscribe to this topic with an HTTPS endpoint using the following URL:
- Ensure your topic sends notifications for bounces, complaints, and delivery status.
- Ensure the exact topic ARN is configured as
sns_topic_arnin the mailer DSN. The plugin verifies the AWS signature and topic before processing any callback. - For classic identity-based SNS notifications, enable Include original headers for bounce and complaint notifications on the verified SES identity. Mautic uses the
X-EMAIL-IDheader to attribute feedback to the email statistics. Configuration-set event publishing can use theX-EMAIL-IDmessage tag added by this plugin instead. - Test your callback configuration by sending test emails and reviewing Mautic logs to verify feedback is processed correctly.
Batch Limit & Throttling
To avoid exceeding SES rate limits, this plugin automatically:
- Caches the current
maxSendRatereturned by AWS SES. - Dynamically adjusts the batch size to match that rate.
- Throttles outgoing email API calls using
usleep(). - Allows overriding the send rate via
ratelimitDSN option.
This prevents common errors like TooManyRequests while maximizing throughput.
Debugging
-
To troubleshoot email sending or SNS callback issues, check Mautic’s logs:
- You can also monitor SES and SNS performance in Amazon CloudWatch.
Contributions & Feedback
This is my first Mautic plugin, so I’m open to any feedback or improvements.
Feel free to open an issue or submit a pull request if you find a bug or have a feature request!
License
This project is licensed under the MIT License — see the LICENSE file for details.
Changelog
See CHANGELOG.md for release notes. Version 1.0.31 maintains compatibility with PHP 8.1 for Mautic 6 users, while supporting Mautic 7 (which requires PHP 8.2).
All versions of mautic-amazon-ses with dependencies
mautic/core-lib Version ^5.0 || ^6.0 || ^7.0
composer/installers Version ^2.0
aws/aws-php-sns-message-validator Version ^1.10
aws/aws-sdk-php Version ^3.0