Download the PHP package iamjpsingh/mautic-ses-plugin without Composer

On this page you can find all versions of the php package iamjpsingh/mautic-ses-plugin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package mautic-ses-plugin

Mautic Amazon SES Plugin

Latest Version License PHP Version

Amazon SES webhook handler plugin for Mautic 6+. Automatically tracks bounces, complaints, deliveries, and more via AWS SNS webhooks. Marks contacts as Do Not Contact on hard bounces and spam complaints.

Works with Symfony's built-in SES transport (symfony/amazon-mailer) — no custom transport needed.

Credits

This plugin is based on the amazing work by @pm-pmaas and their original etailors/mautic-amazon-ses plugin. Huge thanks to them for building the foundation!

The original plugin supports Mautic 4/5. This version has been rewritten and upgraded for Mautic 6+ with:


Requirements

Installation

That's it! The plugin is ready to use.

Quick Start Guide

Step 1: Create IAM Access Keys

  1. Go to AWS Console > IAM > Users
  2. Select or create a user with SES permissions
  3. Go to Security credentials > Create access key
  4. Save the Access Key ID and Secret Access Key

Step 2: Configure Mautic Email Settings

Go to Mautic > Settings > Email Settings and configure:

Field Value
Scheme ses+api
Host default
User Your AWS Access Key ID
Password Your AWS Secret Access Key
Options Key: region, Value: your AWS region (e.g. us-east-1, ap-south-1)

Click Save and Send Test Email to verify.

Step 3: Create SNS Topic

  1. Go to AWS SNS Console > Topics > Create topic
  2. Select Standard type
  3. Name it mautic-ses-notifications
  4. Click Create topic

Step 4: Create SNS Subscription

  1. Inside the topic, click Create subscription
  2. Set:
    • Protocol: HTTPS
    • Endpoint: https://your-domain.com/mailer/callback
  3. Click Create subscription
  4. The plugin auto-confirms the subscription

Step 5: Connect SES to SNS

  1. Go to SES > Identities > your-domain > Notifications tab
  2. Click Edit on Feedback notifications
  3. Set your SNS topic for Bounce, Complaint, and Delivery
  4. Enable Include original email headers
  5. Click Save

Step 6: Test It!

  1. Create a contact in Mautic with email: [email protected]
  2. Send an email to that contact
  3. The contact should be marked as Do Not Contact (Bounced)

alt text

Alternative Configuration Methods

Via config/local.php

Via Environment Variable

Available DSN Schemes

Scheme Protocol Use case
ses+api SES v2 HTTPS API Recommended - fastest
ses+https SES v2 HTTPS Alternative API method
ses+smtp SMTP via SES Use if API access is restricted
ses Default (same as ses+smtp) Fallback

Supported SES Event Types

All 10 SES event types are handled:

Event Type Action Description
Bounce Marks contact as Do Not Contact (Bounced) Hard/soft bounce with full diagnostics
Complaint Marks contact as Do Not Contact (Unsubscribed) Spam complaint from recipient
Delivery Logged Successful delivery confirmation
Reject Marks contact as Do Not Contact (Bounced) SES rejected the email (e.g., virus detected)
Send Logged SES accepted the email for delivery
Open Logged Recipient opened the email
Click Logged Recipient clicked a link
DeliveryDelay Logged as warning Temporary delay (mailbox full, etc.)
Rendering Failure Logged as error SES template rendering failed
Subscription Logged Recipient changed subscription preferences

SNS Message Types

Type Action
SubscriptionConfirmation Auto-confirmed (calls SubscribeURL)
UnsubscribeConfirmation Logged as warning
Notification Unwrapped and processed as SES event

Supports both SES v1 (notificationType) and SES v2 (eventType) payload formats.

Advanced: Configuration Set (Optional)

For tracking Open, Click, and other v2 events, create a Configuration Set:

  1. Go to SES > Configuration Sets > Create
  2. Name it mautic-tracking
  3. Add an SNS event destination for all event types
  4. Add configuration_set=mautic-tracking to your DSN options

Webhook Endpoint

Accepts:

SES Simulator Addresses (For Testing)

Address Simulates
[email protected] Hard bounce
[email protected] Spam complaint
[email protected] Successful delivery
[email protected] Suppression list bounce
[email protected] Out of office (soft bounce)

Troubleshooting

"Unsupported scheme ses+api" error

Bounces not being recorded

Test email works but campaign emails don't

Plugin not showing in Mautic

IAM Policy

Minimum required IAM permissions for sending:

Contributing

Found a bug? Have a suggestion? Please open an issue or submit a pull request.

License

GPL-3.0-or-later


Made with love for the Mautic community. Special thanks to @pm-pmaas for the original etailors/mautic-amazon-ses plugin that made this possible.


All versions of mautic-ses-plugin with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
mautic/core-lib Version ^6.0 || ^7.0
symfony/amazon-mailer Version ^6.4 || ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package iamjpsingh/mautic-ses-plugin contains the following files

Loading the files please wait ...