| 开发者 | mmeprowp |
|---|---|
| 更新时间 | 2026年10月7日 16:48 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp_mail(), which hands the message to the web server's own mail function. On most hosts that means it lands in spam, or does not arrive at all - and nothing on the site says so, because almost no WordPress code checks what wp_mail() returned. Sites routinely go weeks before somebody notices the receipts stopped arriving.
This plugin does two things about that. It routes your mail through a real mail service, and it makes failure visible.
Why this one and not one of the others
There are a great many SMTP plugins. Four things here are deliberate choices the others mostly do not make.
wp_mail() returns an accurate result, and wp_mail_failed fires with a real error rather than a bare false.mmoa_send_attempted on every attempt, mmoa_send_failed on each failure, mmoa_send_failing once an outage starts, and mmoa_send_recovered when it ends.wp-config.php, and the plugin marks a field as pinned when a constant is set. Anything stored in the database instead is encrypted with libsodium.wp-config.php instead of the database - for example define( 'MMOA_GOOGLE_SA_PRIVATE_KEY', '...' );. The plugin shows a field as pinned when a constant is set for it.For the service account connection, yes - domain-wide delegation is a Workspace feature. A plain @gmail.com account uses the Gmail OAuth connection instead, which works but keeps a refresh token.
Your Google Cloud consent screen is still in Testing status, which expires refresh tokens every seven days. Publish it to In production and reconnect.
Its client ID has not been authorized in Google Workspace Admin under Security, API Controls, Domain-wide Delegation, with the https://www.googleapis.com/auth/gmail.send scope. The error message names this too.
About 2 MB. The API caps a single request at 4-5 MB, and a message on this path is base64-encoded twice, so the usable payload is roughly half the nominal limit. Oversized messages are rejected before sending, with a message saying so, rather than failing on the wire.
Not in this plugin. It records no copy of what it sent - a mail log holding recipients and subjects is a standing liability, and this one deliberately does not keep one. What it does tell you is whether sending is currently working, what the last error was, and what is waiting in the retry queue.
No. WordPress lets exactly one plugin take over sending, so one of the two would be configured and doing nothing - and which one wins depends on load order rather than on anything you chose. The plugin detects the common ones and says so on screen.