Description
WordPress sends email with PHP’s mail() function by default. Most hosts either block it or send it in a way that lands in spam, which is why contact form notifications, password resets and order confirmations go missing.
Dualsend SMTP Failover routes your site’s email through a mail server you control. What makes it different from other SMTP plugins is the second server: configure a fallback, and if the primary one is down, rate limited or refusing connections, the message is retried on the backup automatically. Nothing is lost while you work out what went wrong with the first one.
How delivery works
Each message is offered to the configured routes in order, and the first one that accepts it wins:
- Primary provider API, if the primary server is set to API mode
- Primary SMTP server
- Fallback provider API, if the fallback server is set to API mode
- Fallback SMTP server
If every route fails, the message is handed back to WordPress so its own mail handling still gets a turn.
Sending over an API instead of SMTP
Many hosts close outgoing SMTP ports. Where a provider offers an HTTP API, you can use it instead of SMTP by pasting in an API key — no ports involved. These providers are supported:
Brevo, Elastic Email, MailerSend, Mailgun, Mailjet, Mandrill, Postmark, Resend, SendGrid, SendLayer, SMTP.com, SMTP2GO, SparkPost.
Any other provider, including Amazon SES, Gmail, Google Workspace, Microsoft 365, Outlook.com and Zoho Mail, works over standard SMTP.
Features
- Two independent servers, with automatic failover between them
- SMTP or provider API for each server, mixed freely
- Connection and credential tests built into the settings screen
- A test message that follows the same routes as your real email
- Optional debug log, with passwords and API keys masked before anything is written
- Short timeouts while a visitor is waiting on a form submission, so a slow mail server never holds up the page
- Works with Contact Form 7 and any other plugin that sends through
wp_mail()
External services
This plugin does not contact any service on its own. It has no telemetry, no licence check, and no connection to any service run by the plugin author.
The only outgoing connections it makes are to the email provider you configure, and only when it is sending your mail or when you press one of the test buttons. Endpoints below are API hostnames, not web pages.
- Brevo — sends to api.brevo.com — terms, privacy
- Elastic Email — sends to api.elasticemail.com — terms, privacy
- MailerSend — sends to api.mailersend.com — terms, privacy
- Mailgun — sends to api.mailgun.net or api.eu.mailgun.net — terms, privacy
- Mailjet — sends to api.mailjet.com — terms, privacy
- Mandrill — sends to mandrillapp.com — terms, privacy
- Postmark — sends to api.postmarkapp.com — terms, privacy
- Resend — sends to api.resend.com — terms, privacy
- SendGrid — sends to api.sendgrid.com — terms, privacy
- SendLayer — sends to console.sendlayer.com — terms, privacy
- SMTP.com — sends to api.smtp.com — terms, privacy
- SMTP2GO — sends to api.smtp2go.com — terms, privacy
- SparkPost — sends to api.sparkpost.com or api.eu.sparkpost.com — terms, privacy
When a message is sent, the data passed to your chosen provider is the message itself: recipients, subject, body, and the sender address you configured. That is the same data any mail server would receive. Nothing is sent anywhere else.
If you configure a plain SMTP server instead of an API, the plugin connects only to the host you entered.
Installation
- Upload the plugin through Plugins Add New Upload Plugin, or install it from the plugin directory.
- Activate it.
- Go to Settings Dualsend SMTP Failover.
- On the General tab, set the From address. It must be on a domain your provider is allowed to send for.
- On the Primary server tab, choose your provider and enter either the SMTP details or an API key. Use Test connection or Verify credentials to check it.
- Optionally do the same on the Fallback server tab, using a different provider so that both routes do not fail together.
- On the Test tab, send yourself a test message.
FAQ
-
Do I need a fallback server?
-
No. The plugin works with just the primary server. The fallback is there for sites where a missed email costs something — a shop, a booking form, a support desk.
-
Should the fallback use the same provider as the primary?
-
Ideally not. If both servers belong to the same provider, one outage takes out both. Pairing two different providers is what makes the failover worth having.
-
My host blocks SMTP ports. What do I do?
-
Choose a provider that offers an API — SendGrid, Brevo, Postmark, Mailgun and most others in the list above — and set the connection type to Provider API. API delivery runs over ordinary HTTPS, which is not blocked.
-
Where are my passwords stored?
-
In the WordPress options table, in the same database as the rest of your site, and only readable by users who can already manage plugin settings. They are never sent back to the browser once saved, and they are masked before anything is written to the debug log.
For extra safety on a shared host, keep your provider’s API key scoped to sending only, rather than full account access.
-
Why did my message send but land in spam?
-
Almost always because the From address does not match a domain your provider is authorised to send for. Set up SPF, DKIM and DMARC records with your provider, and use a From address on that domain.
-
Does it work with Contact Form 7?
-
Yes, and it treats form submissions specially: while a visitor is waiting on a form, timeouts are shortened and the long retry pause is skipped, so a slow mail server never leaves the page hanging.
Any plugin that sends through
wp_mail()works, including WooCommerce, Gravity Forms, WPForms and the WordPress core notifications. -
Will it interfere with other plugins that set their own sender address?
-
Not unless you ask it to. By default a plugin that sets its own From address keeps it. Switch on Override other plugins on the General tab if you want your configured address used everywhere.
-
What happens when every route fails?
-
The message is handed back to WordPress, which tries its own PHP mail handling. Switch on the debug log to see exactly which route failed and why.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Dualsend SMTP Failover” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Dualsend SMTP Failover” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- First release.