Title: Dualsend SMTP Failover
Author: Shubham
Published: <strong>September 21, 2026</strong>
Last modified: September 21, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/dualsend-smtp-failover.svg)

# Dualsend SMTP Failover

 By [Shubham](https://profiles.wordpress.org/cshubh832/)

[Download](https://downloads.wordpress.org/plugin/dualsend-smtp-failover.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/dualsend-smtp-failover/#description)
 * [Reviews](https://wordpress.org/plugins/dualsend-smtp-failover/#reviews)
 *  [Installation](https://wordpress.org/plugins/dualsend-smtp-failover/#installation)
 * [Development](https://wordpress.org/plugins/dualsend-smtp-failover/#developers)

 [Support](https://wordpress.org/support/plugin/dualsend-smtp-failover/)

## 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:

 1. Primary provider API, if the primary server is set to API mode
 2. Primary SMTP server
 3. Fallback provider API, if the fallback server is set to API mode
 4. 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](https://www.brevo.com/legal/termsofuse/),
   [privacy](https://www.brevo.com/legal/privacypolicy/)
 * Elastic Email — sends to api.elasticemail.com — [terms](https://elasticemail.com/resources/usage-policies/terms-of-use/),
   [privacy](https://elasticemail.com/resources/usage-policies/privacy-policy/)
 * MailerSend — sends to api.mailersend.com — [terms](https://www.mailersend.com/legal/terms-of-use),
   [privacy](https://www.mailersend.com/legal/privacy-policy)
 * Mailgun — sends to api.mailgun.net or api.eu.mailgun.net — [terms](https://www.mailgun.com/legal/terms/),
   [privacy](https://www.mailgun.com/legal/privacy-policy/)
 * Mailjet — sends to api.mailjet.com — [terms](https://www.mailjet.com/legal/terms/),
   [privacy](https://www.mailjet.com/legal/privacy-policy/)
 * Mandrill — sends to mandrillapp.com — [terms](https://mailchimp.com/legal/terms/),
   [privacy](https://mailchimp.com/legal/privacy/)
 * Postmark — sends to api.postmarkapp.com — [terms](https://postmarkapp.com/terms-of-service),
   [privacy](https://postmarkapp.com/privacy-policy)
 * Resend — sends to api.resend.com — [terms](https://resend.com/legal/terms-of-service),
   [privacy](https://resend.com/legal/privacy-policy)
 * SendGrid — sends to api.sendgrid.com — [terms](https://www.twilio.com/en-us/legal/tos),
   [privacy](https://www.twilio.com/en-us/legal/privacy)
 * SendLayer — sends to console.sendlayer.com — [terms](https://sendlayer.com/terms-of-service/),
   [privacy](https://sendlayer.com/privacy-policy/)
 * SMTP.com — sends to api.smtp.com — [terms](https://www.smtp.com/policies/terms-and-conditions/),
   [privacy](https://www.smtp.com/policies/privacy-policy/)
 * SMTP2GO — sends to api.smtp2go.com — [terms](https://www.smtp2go.com/terms/),
   [privacy](https://www.smtp2go.com/privacy/)
 * SparkPost — sends to api.sparkpost.com or api.eu.sparkpost.com — [terms](https://www.sparkpost.com/policies/tou/),
   [privacy](https://www.sparkpost.com/policies/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

 1. Upload the plugin through **Plugins  Add New  Upload Plugin**, or install it from
    the plugin directory.
 2. Activate it.
 3. Go to **Settings  Dualsend SMTP Failover**.
 4. On the **General** tab, set the From address. It must be on a domain your provider
    is allowed to send for.
 5. 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.
 6. Optionally do the same on the **Fallback server** tab, using a different provider
    so that both routes do not fail together.
 7. 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.

Contributors

 *   [ Shubham ](https://profiles.wordpress.org/cshubh832/)

[Translate “Dualsend SMTP Failover” into your language.](https://translate.wordpress.org/projects/wp-plugins/dualsend-smtp-failover)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/dualsend-smtp-failover/),
check out the [SVN repository](https://plugins.svn.wordpress.org/dualsend-smtp-failover/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/dualsend-smtp-failover/)
by [RSS](https://plugins.trac.wordpress.org/log/dualsend-smtp-failover/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [deliverability](https://wordpress.org/plugins/tags/deliverability/)[email](https://wordpress.org/plugins/tags/email/)
   [mail](https://wordpress.org/plugins/tags/mail/)[smtp](https://wordpress.org/plugins/tags/smtp/)
   [wp-mail](https://wordpress.org/plugins/tags/wp-mail/)
 *  [Advanced View](https://wordpress.org/plugins/dualsend-smtp-failover/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/dualsend-smtp-failover/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dualsend-smtp-failover/reviews/)

## Contributors

 *   [ Shubham ](https://profiles.wordpress.org/cshubh832/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dualsend-smtp-failover/)