The problem
Out of the box, WordPress sends email with PHP's basic mail function. It has no proper sign-in to an email service, so mail providers can't tell it apart from spam. Since 2024, Gmail, Yahoo and Microsoft have been strict about this: messages without proper SPF, DKIM and DMARC records are far more likely to be filtered or rejected.
The worst part is that it fails silently. A customer places an order, the confirmation never reaches them, and the shop finds out days later from an annoyed phone call. A contact form looks like it works, but the enquiries never arrive.
There are good SMTP plugins already. What we wanted was one that also answered the questions that come up the moment an email goes missing. Which plugin sent this email? Did it arrive? What happens if the email service is down, or we hit its daily limit halfway through a sale?
What we built
A real email service, through its own front door
SaralSMTP connects to 27 named email services, from Gmail, Microsoft 365 and Zoho to Amazon SES, Brevo, SendGrid and Mailgun, plus any SMTP server. Where a service has its own sending API, the plugin uses it instead of SMTP. That matters more than it sounds: plenty of hosts block the SMTP ports, and an API call over normal HTTPS gets through. Gmail, Microsoft and Zoho sign in with OAuth, so no mailbox password is stored on the site, and the keys that are stored are encrypted.
Every email accounted for
Every email is logged with its status, and the plugin works out which plugin, theme or part of WordPress sent it, so “the order emails are failing” becomes something you can actually see. Password reset and new account emails are logged without their content, because those links are private.
When things go wrong
You can set up more than one connection: route mail by sender or domain, give each connection hourly and daily limits, and name a fallback. If a send fails, or a connection reaches its limit, the email goes through the fallback. Failed emails are retried on a widening schedule for up to 24 hours instead of being dropped.
A built-in check looks at your domain's DNS and tells you whether SPF and DKIM are set up correctly for the service you actually use, since each one has its own records. It can't change your DNS for you, but it can tell you exactly what's missing.
OpenCart without touching its mailer
OpenCart 4 loads its mail engine by name. The OpenCart version of SaralSMTP registers its own engine under that name for each request and switches the store's setting in memory only, so turning the extension off instantly restores the store's own mail settings. It carries its own namespaced copy of the PHPMailer library, so it can't clash with another extension's copy. And it reads where each email came from, so it can tell an order email from a password reset. One change store owners will notice: a failed email no longer stops checkout with an error page.
Pro, kept separate
SaralSMTP Pro is a separate add-on with open and click tracking, a background sending queue, delivery and bounce updates from SES, SendGrid, Mailgun, Postmark and Brevo, a suppression list and multisite network settings. Password reset, new account and test emails are never tracked.
Where it stands
The OpenCart version went on the OpenCart Marketplace on 27 October 2026. The WordPress plugin has been through a round of WordPress.org review feedback, with fixes for translations, the disclosure of outside services and the OAuth flow, and is coming soon to WordPress.org. Pro is built and will follow once the free plugin is live there.
To be clear about its scope: SaralSMTP sends your site's emails. It isn't a mailbox and it isn't a newsletter tool, and it can't fix DNS records for you. The OpenCart edition has so far been tested against a local test mail server, and its retries and weekly summary need OpenCart's cron job to be set up.
What we like most about it is not the long list of services. It's that when an email goes missing, there is finally a clear answer to where it went and why.