| 开发者 | sendfleet |
|---|---|
| 更新时间 | 2026年10月22日 10:36 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp_mail() — through the SendFleet API instead of PHP mail() or SMTP.
Setup is one field. Paste your API key. The plugin checks it, reads your plan and verified sending domains from SendFleet, and picks a sender address on one of those domains automatically. There are no SMTP hosts, ports or passwords to configure.
What it does for you
pre_wp_mail filter rather than replacing the pluggable function, and builds each message exactly like WordPress does, so wp_mail_from, wp_mail_content_type, phpmailer_init and every other mail filter keep working (WooCommerce's plain-text alternative included).502 queue_error and other failures where SendFleet confirms nothing was sent are retried automatically from a queue. A timeout is never retried automatically, because the email may already have been accepted and a retry could deliver it twice.wp sendfleet status|connect|test|queue|refresh|purge-log), wp-config.php constants for every secret, encrypted key storage, multisite support, and personal data export and erasure.wp-config.php instead:
define( 'SENDFLEET_API_KEY', 'abcd1234.your-secret-part' );
Other constants: SENDFLEET_FROM_EMAIL, SENDFLEET_FROM_NAME, SENDFLEET_WEBHOOK_SECRET and SENDFLEET_ENCRYPTION_KEY (a custom key for encrypting stored secrets).Anything that sends email through wp_mail(), which is nearly everything: WordPress core, WooCommerce, Easy Digital Downloads, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Elementor forms, membership and LMS plugins, and so on.
Yes. Run one mailer at a time. If another plugin replaces wp_mail() entirely, SendFleet shows a warning, because email may then bypass it.
If the sender an email already has is on one of your verified SendFleet domains, it is kept. Otherwise the default sender is used: the address you set under SendFleet → Settings, or wordpress@ your site's domain when that domain is verified, or wordpress@ your first verified domain. SendFleet matches domains exactly, so mail.example.com and example.com are separate domains.
On the Free plan, a Shared SES domain only delivers to your own SendFleet account address. It exists so you can try SendFleet before setting up Amazon SES. The plugin delivers emails addressed to you and skips other recipients (they are listed in the log as skipped). Add a BYOC domain (free, through your own Amazon SES) or choose a Managed plan to email anyone. Never mark a smoke-test email as spam: SendFleet suspends the account on the first complaint.
As in any email: one message, with the Cc addresses visible to everyone and the Bcc addresses visible to nobody. SendFleet accepts up to 50 recipients per message on a BYOC domain, so a longer list is split into several messages. On a Shared SES domain the limit is 5 recipients and the message is addressed to exactly one of them, with the rest as Cc. Each recipient counts as one send against your SendFleet allowance, and on the Free plan's Shared SES smoke test only your own address can receive, so Cc and Bcc recipients are skipped there.
Requests that SendFleet confirms were not sent are retried automatically: inline once, then from a queue run by WP-Cron with backoff. Rate-limited emails wait for the limit window to pass. If you turn on the fallback, an email SendFleet cannot take is sent the default WordPress way.
The log stores recipient, sender, subject and status, never the body. An email waiting in the retry or background queue is held in the database until it is sent, then its content is deleted. You can turn the log off entirely.
Encrypted in the options table (libsodium, with a key derived from your site's security salts), or not at all if you define SENDFLEET_API_KEY in wp-config.php. If the salts change, the plugin asks you to paste the key again.
On Managed plans, yes. Copy the endpoint URL from SendFleet → Settings → Webhooks into the SendFleet dashboard, select the events you want, and paste the signing secret back into the plugin. BYOC sends are delivered by your own Amazon SES account, so their events stay in your AWS account.
Yes. Each site has its own settings and log. Define SENDFLEET_API_KEY in wp-config.php to use one key for the whole network.
wp sendfleet status, wp sendfleet connect <key>, wp sendfleet test [<to>], wp sendfleet queue [list|run], wp sendfleet refresh and wp sendfleet purge-log.
All of its settings, both database tables (log and suppression list) and its scheduled events.