0+
June 22, 2026
May 24, 2026
Fullworks Simple Setup for Amazon SES replaces the default WordPress email function with Amazon SES, ensuring reliable email delivery for your WordPress site.
This plugin is an independent project and is not affiliated with, endorsed by, or sponsored by Amazon Web Services, Inc.
Features:
* Easy configuration through WordPress admin
* Optional credential configuration via wp-config.php constants (12-factor / env-var friendly)
* Supports all standard WordPress emails
* Test email functionality
* Credentials stored in the WordPress database, or defined as wp-config.php constants to keep them out of the database
* Support for HTML and plain text emails
* Staging-safe email redirect: reroute all outgoing mail to a catch-all address (always, or only on non-production environments) while still sending for real through SES
Before using this plugin, you need to:
Instead of storing AWS credentials in the database via the settings UI, you can define them as PHP constants in wp-config.php. This is the recommended approach for production sites and works well with environment variables on managed hosts.
Add the following before the /* That's all, stop editing! */ line in wp-config.php:
define( 'FSSFAS_ACCESS_KEY_ID', getenv( 'FSSFAS_ACCESS_KEY_ID' ) ?: '' );
define( 'FSSFAS_SECRET_ACCESS_KEY', getenv( 'FSSFAS_SECRET_ACCESS_KEY' ) ?: '' );
define( 'FSSFAS_REGION', getenv( 'FSSFAS_REGION' ) ?: 'us-east-1' );
Each constant is independent — you can define one, two, or all three. Any constant that is defined takes precedence over the value saved in the settings page, and the matching field in the admin UI is locked while the constant is in effect.
When you copy a production site to a staging or development environment, real WordPress and WooCommerce emails (order confirmations, password resets, etc.) can be accidentally sent to real customers. The Email Redirect feature prevents this: every outgoing email is still sent for real through Amazon SES, but the recipients are rewritten to one or more catch-all addresses you control. You see exactly what would have been delivered, fully rendered, without any real recipient being contacted.
X-Original-To, X-Original-Cc and X-Original-Bcc headers, and the subject is prefixed with the original recipient (e.g. [SES redirected customer@example.com] Your order).Redirect Mode has three settings: Never (default), “Redirect when environment is not production” (uses the WordPress environment type, WP_ENVIRONMENT_TYPE), and Always.
Like credentials, the redirect settings can be defined as constants in wp-config.php so a staging environment can enforce them via environment variables:
define( 'FSSFAS_REDIRECT_MODE', getenv( 'FSSFAS_REDIRECT_MODE' ) ?: 'non_production' );
define( 'FSSFAS_REDIRECT_TO', getenv( 'FSSFAS_REDIRECT_TO' ) ?: 'staging-mail@example.com' );
FSSFAS_REDIRECT_MODE accepts `never`, `non_production` or `always`. `FSSFAS_REDIRECT_TO` is a comma-separated list of catch-all addresses. When defined, the matching field in the admin UI is locked.<h3>External Services</h3>
This plugin sends your site’s outgoing email through Amazon Simple Email Service (Amazon SES), a service provided by Amazon Web Services, Inc. When WordPress sends an email and the plugin has been configured with valid AWS credentials, the message is transmitted to Amazon SES instead of being delivered by your server’s default mailer.
The following data is sent to Amazon SES for each email:
No data is sent to Amazon SES unless you have entered AWS credentials in the plugin settings (or defined them as wp-config.php constants). Without credentials the plugin does nothing and WordPress sends email using its normal method.
This service is provided by Amazon Web Services, Inc. Your use of it is governed by their terms and privacy policy:
fullworks-simple-setup-for-amazon-ses folder to the /wp-content/plugins/ directoryYour IAM user needs the ses:SendEmail and ses:SendRawEmail permissions.
See the “External Services” section above — in short, the contents of any email WordPress sends (recipients, sender, subject, body, attachments) plus your AWS Access Key ID and region for authentication.
Set Redirect Mode (under Settings > Fullworks SES) to “Always” or “Redirect when environment is not production” and enter one or more catch-all addresses in “Redirect To”. All outgoing mail is then rerouted to those addresses while still being sent for real through SES, so you can verify it without any customer receiving it. See the “Email Redirect for Staging” section above. You can also enforce this from wp-config.php with the FSSFAS_REDIRECT_MODE and FSSFAS_REDIRECT_TO constants.
X-Original-To/X-Original-Cc/X-Original-Bcc headers, Cc/Bcc are dropped from delivery, and the subject is prefixed with the original recipient.wp-config.php constants (FSSFAS_REDIRECT_MODE, FSSFAS_REDIRECT_TO).aws/aws-sdk-php to the latest stable release.aws/aws-sdk-php to the latest stable release.aws/aws-sdk-php to the latest stable release.Fullworks\SimpleSetupForAmazonSes\), prefix (fssfas / FSSFAS), option key (fssfas_settings), AJAX action and wp-config constants (FSSFAS_ACCESS_KEY_ID, FSSFAS_SECRET_ACCESS_KEY, FSSFAS_REGION) all updated.fullworks-simple-setup-for-amazon-ses text domain.wp_mail().wp_enqueue_script / wp_localize_script) instead of being printed inline.wp_add_privacy_policy_content(), and an “External Services” section in the readme documenting exactly what data is sent to Amazon SES.aws/aws-sdk-php to the latest stable release and stripped the unused AWS service clients so the plugin download is dramatically smaller.wp_mail(), so it no longer reports success when SES has actually failed and WordPress fell back to the default mailer.debug.log when WP_DEBUG is enabled. SES failures during normal wp_mail() flow are also logged before the WordPress default mailer takes over.FSSFAS_ACCESS_KEY_ID, FSSFAS_SECRET_ACCESS_KEY, FSSFAS_REGION). When a constant is defined, the matching field in the settings UI is locked.