New mailer: Amazon SES API with IAM role authentication
New Feature — Amazon SES (API) mailer
* New mailer type that sends through the Amazon SESv2 API instead of SMTP, authenticated exclusively by the server’s AWS IAM role (ECS task role / EC2 instance role) via the AWS default credential chain — no access keys, secret keys, or SMTP credentials are stored or required.
* Built for stateless, containerized WordPress on AWS (ECS/Fargate): no secrets in the database, following 12-factor principles.
* Full message fidelity — HTML, attachments, CC/BCC, Reply-To and custom headers are preserved (sent as raw MIME); BCC recipients are delivered via the SES envelope and stay hidden.
* Optional SES Configuration Set support for bounce/complaint tracking and CloudWatch metrics.
* Region, sender address and configuration set can be injected via environment variables / constants (SES_REGION / AWS_REGION, SES_FROM_EMAIL, SES_CONFIG_SET), overriding the stored settings — so the same image runs across environments.
* Dependency-free — uses the AWS SDK for PHP when present, otherwise a built-in SigV4-signed API client over the WordPress HTTP API (nothing to bundle).
* “Send Test Email” returns the SES MessageId on success.
* SES sends are captured by the Email Logs (status, content preview) just like SMTP sends.
* Note: this is distinct from the existing Amazon SES SMTP preset, which uses SMTP credentials. The new mailer uses the SES API and IAM roles.
Documentation update
WordPress 7 compatibility release
WordPress 7 Compatibility
* Verified compatibility with WordPress 7.0 and PHPMailer 7.0.2 (no code changes required — plugin uses only public PHPMailer properties and methods).
* Cooperates with the automatic Envelope-From / Return-Path behavior introduced in WordPress 6.9, so SPF/DKIM alignment now works correctly on strict hosts without manual configuration.
* Added a contextual note under the From Email field explaining the new envelope sender behavior on WordPress 6.9+.
New Integration
* Abilities API support (WordPress 6.9+): two server-side abilities are now exposed for AI assistants, dashboards, and workflow tools.
* custom-smtp/connection-health — returns whether SMTP is configured, host, port, encryption mode, auth state, and log retention.
* custom-smtp/send-test-email — sends a test email through the configured SMTP server.
Changed Defaults
* Store Email Content is now enabled by default on new installs so the log preview is useful out of the box. Existing installs keep their saved preference. You can still disable it from the Email Logging settings card; with the default log retention of 30 days, stored bodies are automatically purged.
Also Included (from the 2.1.0 line)
* iCloud Mail provider preset.
* Documented stateless and cloud-ready compatibility (Docker, Kubernetes, ECS/Fargate, Cloud Run, Bedrock, Trellis).
* Removed legacy v1.x procedural code; the v2.x OOP architecture is now the single source of truth.
Release Date – May 26, 2026
New Features
* Provider Presets: One-click configuration for Gmail, Outlook, AWS SES, SendGrid, Mailgun, Brevo, Postmark, Mailjet, Zoho, Yahoo, and iCloud.
* Auto-fill settings: Select a provider and Host, Port, Encryption, Authentication are automatically configured.
* Documentation links: Quick access to each provider’s SMTP documentation.
UI Improvements
* Redesigned settings page with card-based layout.
* Status bar showing SMTP configuration state at a glance.
* Collapsible Advanced Settings section.
* Save button in each settings card for quick access.
* Responsive design for mobile admin access.
Documentation
* Documented stateless and cloud-ready compatibility (Docker, Kubernetes, ECS/Fargate, Cloud Run, Bedrock, Trellis).
* Expanded FAQ with the full list of supported SMTP providers.
Maintenance
* Removed legacy v1.x procedural code; the v2.x OOP architecture is now the single source of truth.
Release Date – February 4, 2026
Major Release – Architecture Refactor & Email Logging
New Features
* Email Logging: Track all sent emails with recipient, subject, date/time, and status (success/failed).
* Email Logs Dashboard: View all logged emails with search, filters, and pagination.
* Email Preview Sidebar: View full email content in an Outlook-style sidebar panel.
* Email Content Storage: Optionally store complete email body for later preview (disabled by default for privacy).
* Download Email: Export any logged email as HTML file for archiving or debugging.
* Date Range Filters: Quick filters for Today, Last 7 days, Last 30 days.
* CSV Export: Export email logs to CSV for reporting and analysis.
* Auto-purge: Configurable log retention (default 30 days) with automatic cleanup.
* Statistics Bar: Compact inline stats showing total, sent, failed, and today’s email counts.
* Refresh Button: One-click refresh of email logs.
Architecture
* Complete OOP refactor with PSR-4 namespaces (CustomSMTP\).
* Dependency injection pattern for better testability.
* Separated concerns: Plugin, Settings, Mailer, Logger, Encryption classes.
* Custom database table for email logs.
Security
* Email preview uses sandboxed iframe (no JavaScript execution).
* Email body limited to 500KB to prevent database bloat.
* All AJAX actions protected with nonce verification and capability checks.
Improved
* Cleaner, more maintainable codebase.
* Better separation of admin UI and core functionality.
* Enhanced error handling throughout.
* Responsive design for mobile admin access.
Note
* All v1.x settings are preserved and compatible.
* Email logging is enabled by default (can be disabled in settings).
* Email content storage is disabled by default – enable in settings to use preview feature.
Release Date – December 5, 2025
Security
* SMTP password is now encrypted in the database using AES-256-CBC with WordPress salts.
* Password field no longer displays the stored value (shows placeholder instead).
Added
* New “Test Connection” button to verify SMTP settings without sending an email.
* New “SMTP Authentication” option (Yes/No) to support relay servers without authentication.
* Improved error messages: common PHPMailer errors are now translated to user-friendly messages.
Changed
* Test buttons now show “Test Connection” and “Send Test Email” separately.
* Password field shows “Leave empty to keep current password” when a password is already saved.
Note
* Existing plaintext passwords will continue to work and will be encrypted on next save.
Release Date – December 5, 2025
Fixed
* WordPress 6.9 compatibility: Use wp_mail_from filter instead of setting From in phpmailer_init (fixes “Invalid address” error).
* Fixed test email button not working due to duplicate PHPMailer hooks.
Changed
* Breaking: “Mail From” field moved from Optional to Main settings (now required for WordPress 6.9+).
* Test button now auto-saves settings before sending test email.
* Improved error messages: shows which required fields are missing.
* Disabled SMTPAutoTLS when security is set to “None” (fixes Mailpit/local testing).
Release Date – December 4, 2025
Fixed
* WordPress 6.9 compatibility: Fixed email sending failure with AWS SES and other SMTP providers that require verified sender addresses.
* Added proper Envelope-From (Sender/Return-Path) configuration to comply with WordPress 6.9 PHPMailer changes.
* Test emails now correctly use the configured “Mail From” address as the envelope sender.
Changed
* Minimum WordPress version updated to 6.0.
* Minimum PHP version updated to 7.4.
Note
* Users must configure the “Mail From” field in optional settings with a verified email address (especially important for AWS SES users).
Release Date – July 5, 2024
Improved
* Improved security of saved options with appropriate validation and sanitization.
* Code optimization by removing unused code comments and adding value checks before use.
* Split the main custom-smtp.php file into several files to improve maintainability and readability.
* Creation of includes/admin, includes/smtp and includes/utils folders to organize code by functionality.
Fixed
* Fixed validation of secure options to ensure they are either none, ssl or tls.
* Translations : Test email.
Release Date – April 3, 2024
Release Date – March 14, 2024
Release Date – March 12, 2024
Plugin Website
Visit website
Share Post
Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.