—- plugin —-
description: This plugin sends email through Amazon SES using its API. This is for phplist 3.x.
author : Duncan Cameron
compatible : 3.x
sourcerepo : https://github.com/bramley/phplist-plugin-amazonses
This plugin sends email through the Amazon SES API. Once you have enabled the plugin then phplist will send all emails (campaigns and system), using the plugin.
To revert to using either the php mail() function or an SMTP server, as specified in the config.php file, you should disable the plugin.
The plugin replaces the core phplist code to send through Amazon SES. It adds the ability to increase the send rate by sending emails concurrently.
See the README file on the GitHub page https://github.com/bramley/phplist-plugin-amazonses for how to install the plugin.
When you have enabled the plugin there will be a Amazon SES group on the Settings page where you can configure the plugin.
You must enter the AWS access key ID and secret access key values, and the SES region and endpoint from your Amazon account. If you have previously used the core phplist Amazon SES processing then these are the same values that you have entered in config.php.
To send emails concurrently you need to enable curl multi and enter the maximum number of emails to send concurrently.
The plugin can create a log file of multi-curl transfers that shows the elapsed time of each transfer. It can also create a log file of each curl transfer to help in debugging. The log files are created in the directory identified by the phplist config variable
The plugin does not control the sending rate, which is done by core phplist as for any other method of sending emails. You should set the throttle, batch size, etc to meet any limit set by Amazon SES.
For SES to send bounces to phplist the $message_envelope email address must be verified on your SES console
If the call to the SES API fails then an record is added to the event log, which you can see on the Event Log page.
As an example, this is the event reported when the Access Key ID is invalid
When using curl multi there is a complication regarding how the plugin reports the sending result status, either successful or unsuccessful, of each email.
To allow the concurrent sending of several emails the plugin reports that the sending was successful, even though that is not yet known. This allows core phplist to continue with the next email to be sent.
The actual completion status will be known only at some point in the future. When the sending of an email completes the plugin adds to the event log if that was unsuccessful. Any error returned by Amazon SES will be included in the event log record.
When using the plugin you should review the event log when phplist has completed sending to see whether there are any errors reported. The plugin also adds to the event log a summary of the successful and unsuccessful attempts to send
Please raise any questions or problems in the user forum https://discuss.phplist.org/