Amazon SES integration for CiviCRM¶
Relays outgoing CiviCRM emails using the Amazon SES API (over https).
Also exposes a webhook page to process bounces and complaints from Amazon SES (Simple Email Service) through Amazon SNS (Simple Notification Service) notifications.
View/Download this extension in the Extension Directory.
The extension is licensed under AGPL-3.0.
Installation¶
See: https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/#installing-a-new-extension
Setup¶
See detailed configuration steps here.
Events¶
SubscriptionConfirmation¶
If the Notification is a SubscriptionConfirmation it automatically subscribes to it.
Bounce¶
If it's a Bounce, it maps SES' bounce type to Civi's bounce type as follows:
$sesBounceTypes['Undetermined']['Undetermined'] = 'Invalid';
$sesBounceTypes['Permanent']['General'] = 'Invalid';
$sesBounceTypes['Permanent']['NoEmail'] = 'Invalid';
$sesBounceTypes['Permanent']['Suppressed'] = 'Invalid';
$sesBounceTypes['Permanent']['OnAccountSuppressionList'] = 'Invalid';
$sesBounceTypes['Transient']['General'] = 'Relay';
$sesBounceTypes['Transient']['MailboxFull'] = 'Quota';
$sesBounceTypes['Transient']['MessageTooLarge'] = 'Relay';
$sesBounceTypes['Transient']['ContentRejected'] = 'Spam';
$sesBounceTypes['Transient']['AttachmentRejected'] = 'Spam';
Complaint¶
If the Notification is a Complaint it creates a bounce in CiviCRM of type Spam and sets the opt-out flag for the contact identified by the email address in the notification.
This is implemented in the same way as used by the coopsymbiotic fork of sparkpost: https://github.com/coopsymbiotic/sparkpost/blob/coopsymbiotic/CRM/Sparkpost/Page/callback.php#L151
See also:¶
- AWS extension: https://github.com/mecachisenros/aws which could replace this extension in the future.
- AirMail extension: https://github.com/aghstrategies/com.aghstrategies.airmail which is similar but handles bounces/complaints in CiviCRM slightly differently and doesn't verify webhook signatures.
Support and Maintenance¶
This extension is supported and maintained with the help and support of the CiviCRM community by MJW.
We offer paid support and development as well as a troubleshooting/investigation service.