WP Offload SES 1.6 Released: 40 MB Attachments Enabled

WP Offload SES 1.6 uses the latest Amazon SES API v2 in order to increase the maximum size limit of messages from 10 MB to 40 MB.

📩 Larger Attachments

A little while ago, Amazon increased the maximum size limit for messages from 10 MB up to 40 MB. As a result we’ve had quite a few users of WP Offload SES contact us, confused as to why they still could not send emails with attachments larger than 10 MB in size.

The problem was that WP Offload SES was built using Amazon SES API v1, which means it could not take advantage of the increased size limit—until now. In version 1.6, we’ve upgraded to SES API v2 and now support message sizes up to 40 MB.

Stuck Queue & Failed Messages Explained

While investigating the changes needed to send emails with larger attachments, we also uncovered an explanation of why email queues have occasionally become stuck in previous versions of WP Offload SES.

Have you ever seen a list of outgoing emails stuck with a “Queued” status for some unexplained reason?

WP Offload SES v1.6 - 01 - Large email causing queue of messages to be sent with v1.5

Eventually one email fails, allowing the following emails to finally get sent.

WP Offload SES v1.6 - 02 - Large email failed but later messages now sent with v1.5

Inspecting the failed message provides no obvious explanation for the failure.

WP Offload SES v1.6 - 03 - Viewing large email that failed to send with v1.5

So you optimistically click Resend and cross your fingers…

WP Offload SES v1.6 - 04 - Retry large email with v1.5

…only to find that the retried message has failed yet again. 😞

WP Offload SES v1.6 - 05 - Large email still fails to send after retry with v1.5

Here’s what was happening. In addition to SES API v1 being unable to send emails with a size greater than 10 MB, the AWS SDK for PHP Version 3 bundled with the plugin was also having issues handling errors returned for larger messages. Further investigation revealed that fatal errors were being thrown due to memory exhaustion.

WP Offload SES v1.6 - 06 - Large email causes fatal error with v1.5

The Cure

As 10 MB is Never Enough, especially when sending a bunch of Pictures of You, the cure is to upgrade to WP Offload SES 1.6 and retry sending the large message.

WP Offload SES v1.6 - 07 - Retry large email after upgrade to v1.6

And as hoped, SES will Just Say Yes and send the over 10 MB message. 🎉

WP Offload SES v1.6 - 08 - Large email successfully sent with v1.6

✅ Domain Verification Changes

With the upgrade to Amazon SES API v2, domain verification requirements have changed.

In WP Offload SES 1.5 and earlier, domain verification required a single TXT DNS entry to be created.

WP Offload SES v1.6 - 10 - Domain verification via TXT DNS entry in v1.5

In WP Offload SES 1.6, domain verification now requires that three CNAME DNS records be created.

WP Offload SES v1.6 - 11 - Domain verification via CNAME DNS entries in v1.6

This new requirement only applies to new domains you wish to verify. Any previously verified domains or specific email addresses will continue to work with WP Offload SES 1.6.

And More

As always, there’s a few other changes in the new release, including updates to the required version of WordPress and PHP, sanitization of broken Content-Type email headers created by 3rd party plugins, and other bits and bobs.

For a full list of new features, improvements, and bug fixes, see the 1.6 Changelog.

Next Up

With WP Offload SES being quite the workhorse plugin that just sits there quietly doing its job as a core component of a site, we’re very careful with it. However, we do have some ideas on how to improve it, and will be actively engaging with our customers in the future to find out what they would like to see changed, and just as importantly, not changed.

Until then, we want to hear your thoughts on this release. Let us know on Twitter or in the comments below.

About the Author

Ian Jones Senior Software Developer

Ian is always developing software, usually with PHP and JavaScript, loves wrangling SQL to squeeze out as much performance as possible, but also enjoys tinkering with and learning new concepts from new languages.