| 开发者 | cshubh832 |
|---|---|
| 更新时间 | 2026年10月6日 23:31 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
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
wp_mail()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.
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.
Use a provider with an API and set the connection type to API. API delivery runs over HTTPS, which is not blocked.
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.
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.
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.
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.