Dualsend SMTP Failover

Description

WordPress sends email with PHP’s mail() function by default, which many hosts block or send to spam. Dualsend SMTP Failover routes your email through a mail server you choose, over SMTP or a provider API, and switches to a second server when the first one fails.

How delivery works

  1. The Primary SMTP Server (API first when set to API mode, then SMTP).
  2. The Fallback SMTP Server, while its switch is on, in the same way, with no waiting in the page.
  3. Background retries, when both servers fail: the email waits in a queue and is tried again every Retry Interval minutes, up to Maximum Retries times.
  4. WordPress itself, as a last resort after the last retry, or at once when Maximum Retries is 0.

Features

  • Primary and fallback mail servers, each over SMTP or a provider API, with automatic failover
  • Connection and credential tests on the settings screen
  • A test message that follows the same route as your real email
  • Optional debug log, with passwords and API keys masked and no message bodies
  • Works with Contact Form 7, WooCommerce and any plugin that sends through wp_mail()

API providers: Brevo, Elastic Email, MailerSend, Mailgun, Mailjet, Mandrill, Postmark, Resend, SendGrid, SendLayer, SMTP.com, SMTP2GO, SparkPost. Any other provider, such as Amazon SES, Gmail, Microsoft 365 or Zoho Mail, works over SMTP.

Fonts: Inter and Plus Jakarta Sans, bundled under the SIL Open Font License 1.1.

External services

The plugin connects to the email provider you configure, when it sends your mail or when you press a test button. It sends that provider the message itself: recipients, subject, body and your sender address. With plain SMTP it connects only to the host you entered.

Install reports, only if you allow them. The settings page asks, as do the Dashboard and the Plugins screen until answered or you click Not now. Nothing is sent until an administrator clicks Allow. Then the site sends wpsmtpfallback.com, run by the plugin author, a report at once, weekly, and on deactivation or deletion: a random ID and signing key, the site name, address and admin email, the WordPress, PHP and plugin versions, whether it is a network, and the mail setup (SMTP or API and the provider of each server, fallback on or off). Never a server name, username, password, API key or message content. The country comes from the request IP address, which our install records do not keep but our server logs do. Deactivating pauses the reports. Stop sharing on the settings page, or deleting the plugin, ends them and removes the site name and admin email from our install records, not from emails already sent to us. terms, privacy

Feedback tab. Nothing is sent until an administrator fills in the form, ticks the consent box and presses Send feedback. The message then goes through your own mail server to the Dualsend team at cshubham832@gmail.com and iamshubhamchaurasia@gmail.com. It contains the rating, the message, the optional name and email, your site address and the plugin version.

Screenshots

Installation

  1. Install the plugin from the Plugins menu and activate it.
  2. Go to Settings > Dualsend SMTP Failover.
  3. Set the From address. It must be on a domain your provider is allowed to send for.
  4. Under Primary SMTP Server, enter your SMTP details, or choose API, pick your provider and paste its API key. Press Test Connection or Test API Connection.
  5. Optionally, set up the Fallback SMTP Server the same way.
  6. On the Test tab, send yourself a test message.

FAQ

How do background retries work?

When both servers fail, the email is queued and the page carries on at once. WP-Cron tries it again every Retry Interval minutes (1 to 60, default 5), primary then fallback, up to Maximum Retries times (0 to 10, default 3), then hands it to WordPress mail. At most 100 emails wait at once; when the queue is full, or attachments exceed 10 MB, the email goes to WordPress mail at once. If your site sets DISABLE_WP_CRON, run wp-cron.php from a real server cron job.

What does the retry queue store, and for how long?

While an email waits, it is stored in your WordPress database, body included, which can hold private content such as a password reset link. Attachments are copied to a private uploads folder under random names, with an index.php and an Apache deny rule; on nginx you can add a deny rule for the dualsend-smtp-failover-queue folder. Everything is deleted once the email is delivered or handed to WordPress mail, and when the plugin is deleted. Queued email is never sent to the plugin author. Set Maximum Retries to 0 to store nothing.

My host blocks SMTP ports. What do I do?

Use a provider with an API and set the connection type to API. API delivery runs over HTTPS, which is not blocked.

Where are my passwords stored?

In the WordPress options table, readable only by users who can manage settings. They are never sent back to the browser and are masked in the debug log. Keep API keys scoped to sending only.

Why did my message land in spam?

Usually the From address does not match a domain your provider may send for. Set up SPF, DKIM and DMARC with your provider and use a From address on that domain.

Can I keep another SMTP plugin active?

Only one plugin sends your email. While Dualsend SMTP Failover has a delivery route, it handles wp_mail() first, so the other plugin’s mail settings are not used. The settings page tells you when another one is active.

Will it change the sender set by other plugins?

No. A plugin that sets its own From address keeps it, unless you switch on Override other plugins. Until a delivery route is set up, no sender is changed.

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

Changelog

1.1.7

  • Changed: the install reports question is shorter, with the full details one click away, and also appears right after you activate the plugin, on a single site. Nothing is sent until an administrator clicks Allow. No change to how email is sent.

1.1.6

  • Changed: the install reports question also shows on the Dashboard and the Plugins screen, with Not now to hide it.

1.1.5

  • Changed: clearer Encryption choices: TLS (port 587), SSL (port 465) or None.
  • New: optional install reports. Nothing is sent unless an administrator clicks Allow.
  • Fixed: a cache could show an older settings design after an update.

1.1.3

  • Changed: a refreshed, more colorful settings design with bundled fonts.
  • Fixed: provider tiles in API mode.

1.1.2

  • Fixed: the settings page keeps its design when another plugin or the theme removes or renames admin stylesheets.

1.1.1

  • Changed: the admin stylesheet and script now live in the assets folder.

1.1.0

  • Changed: the primary server, the fallback server and the delivery options are now on one Settings tab.
  • New: immediate failover, and Test Connection that checks the login without sending.
  • Added background retries. Privacy: a queued email is kept on your site only until it is delivered or given up.
  • New: Cc, Bcc, Reply-To, attachments and embedded images over every provider API, a Feedback tab and developer hooks.
  • Fixed: the debug log records no message body.