| 开发者 | hthub247 |
|---|---|
| 更新时间 | 2026年8月25日 06:03 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp_mail() through the SpeedyMessaging API so every email your site sends — WooCommerce receipts, Contact Form 7 submissions, password resets — goes out through your own mailbox, without changing any of those plugins.
What this does that a mail-configuration plugin does not
Sending here costs money per message, and the account can run out. That makes the hard problems different from "which host do I point at", and it is where this plugin does its work:
Idempotency-Key, so a plugin that fires wp_mail() twice, or two overlapping cron runs, produce one delivery and one charge — not two. Retrying a paid send is normally the thing you cannot safely do; here it is safe by construction.POST /v1/email/messages — preferred: idempotent retries, uploads for attachments, mailbox-bound scope checksPOST /business-email/send — fallbackPOST /messages — last resortwp_mail() / SMTPspeedy_send_sms( $to, $body ), for sites whose account also has SMS enabled — a secondary convenience in this release, not its focusbusiness_email and bound to your mailbox (add messaging:sms for SMS). Start with an sk_test_ key, which never debits credits.wp-config.php so they stay out of the database:define( 'SPEEDY_API_KEY', 'sk_live_…' );
define( 'SPEEDY_MAILBOX_EMAIL', 'noreply@yourdomain.com' );
define( 'SPEEDY_MAILBOX_APP_PASSWORD', '…' );
define( 'DISABLE_WP_CRON', true );
and add a system cron entry running wp cron event run --due-now every minute.Yes. This plugin is a client for that service and does nothing without credentials for it. See the "External service" section above for exactly what is transmitted.
Whichever plugin hooks wp_mail() first handles a given message. The settings screen names any other mail plugin it detects and tells you which one is in charge. Running one at a time makes delivery predictable.
The settings screen counts them by reason. Messages with CC/BCC or a Reply-To header, and messages whose attachment fails the size or type check, are handed to your site's normal mail. They are still delivered — just not by this plugin.
Queued messages are held, not failed, and an admin notice appears. They send once the account is topped up. Nothing is discarded.
Front-end page views do no work at all. Sending happens when WordPress sends mail, and bulk sending happens on cron.
The queue stores recipients and message bodies until delivery, then drops the bodies after 30 days. The delivery log masks recipients at write time and never stores message content. Privacy exporters and erasers are registered so a data request covers all of it.
wp_mail() takeover, including attachments.