Mautic v4 was so much easier to connect to SES/SNS than v7.2!

Your software
My Mautic version is: 7.2
My PHP version is: 8.5
My Database type and version is: MariaDB 11.x

Your problem
My problem is: Connecting to AWS SNS

These errors are showing in the log: I am unable to complete confirmation for subscription to SNS using the ‘MauticAmazonSesBundle’ plugin.

Steps I have tried to fix the problem: I literally used ChatGPT for instructions and troubleshooting for 3 hours now and still nothing works

Hi @HullioGQ,

First, I would remove PHP 8.5 from the equation. Mautic 7.2 should be run with a supported PHP version such as PHP 8.3 or 8.4, with both PHP-FPM and the CLI using the same version. PHP 8.5 can introduce unrelated compatibility problems and makes the SNS issue harder to diagnose.

For SES sending plus SNS bounce/complaint callbacks, the relevant plugin is etailors/mautic-amazon-ses. It supports Mautic 7. There are two installation paths; use one, not both.

Option 1: Composer installation, recommended because it resolves the plugin dependencies:

cd /path/to/mautic
composer require etailors/mautic-amazon-ses:^1.0 -W
rm -rf var/cache/*
php bin/console mautic:plugins:reload

Option 2: Git installation, if you need to manage the plugin checkout manually:

cd /path/to/mautic
composer require aws/aws-sdk-php:^3.0 -W

cd plugins
git clone https://github.com/pm-pmaas/etailors_amazon_ses.git AmazonSesBundle

cd ..
rm -rf var/cache/*
php bin/console mautic:plugins:reload

After that, configure the SES transport in Mautic Email Settings using your SES API credentials and region. The SNS subscription endpoint for this plugin is:

https://your-mautic-domain.example/mailer/callback

That endpoint must be publicly reachable over HTTPS with a valid certificate. It must not require login, be blocked by a firewall/WAF, or be cached by a proxy/CDN. Check the web-server access log while creating the SNS subscription: AWS should make a request to /mailer/callback.

Please share the exact error from var/logs/mautic_*.log, with credentials and tokens removed, plus the HTTP status recorded for the callback request. That will distinguish a PHP/plugin problem from an endpoint, proxy, or AWS SNS configuration issue.