| 开发者 | eusend |
|---|---|
| 更新时间 | 2026年9月13日 17:16 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
mail() function. It is unauthenticated, it fails
SPF and DKIM, and receiving servers routinely drop it without telling anyone. Password
resets never arrive. WooCommerce receipts go missing. Nobody finds out until a customer
complains.
This plugin replaces that path. Every wp_mail() call — core, WooCommerce, Contact
Form 7, Gravity Forms, your theme, anything — is sent through the
eusend API instead, DKIM-signed, from infrastructure that sits in
the EU and stores nothing outside it.
What makes this different from the other mail plugins
Most of them stop at "handed to the provider". This one records what happened next.
Turn on delivery events and eusend posts back to your site as each message moves:
delivered, bounced, marked as spam, opened, clicked. The log stops being a list of send
attempts and becomes an answer to the question you actually have — did the customer get
their receipt? — with the receiving server's own words when the answer is no.
Features
wp_mail() through the pre_wp_mail filter — no SMTP connection, no port 465 blocked by your host, works on serverless and locked-down hosting.wp_mail(), so you can tell a WooCommerce receipt from a form notification at a glance.array( 'invoice.pdf' => '/tmp/file' ) filename form.wp-config.php constants, or from environment variables.wp eusend status, wp eusend test, wp eusend log, wp eusend domains, wp eusend events.eusend_should_send, eusend_email_payload, eusend_email_tags, eusend_email_sent, eusend_webhook_event.api.eusend.dev, operated by eusend. Sending an email transmits its
recipients, subject, body, headers and attachments to that API, which is what delivering
it requires. Mail is processed and stored inside the EU.
Enabling delivery events registers this site's REST endpoint on your eusend account and
stores a signing secret locally; every incoming event is verified against it before
anything is written.
The plugin makes no other outbound requests, sends no analytics, and phones nothing home.
wp-config.php instead —
the settings screen shows those fields as read-only:
define( 'EUSEND_API_KEY', 'eu_live_…' );
define( 'EUSEND_FROM_EMAIL', 'no-reply@yourdomain.com' );
define( 'EUSEND_FROM_NAME', 'Your site' );
Every setting also reads an environment variable of the same name.No. The plugin uses the eusend HTTP API, so nothing depends on outbound port 465 or 587 being open. That is the usual reason SMTP plugins fail on shared and managed hosting.
wp_mail() returns false and fires wp_mail_failed, exactly as a failed SMTP send does,
and the failure is written to the log with the reason. WordPress core treats that the same
way it treats any mail failure.
You can, but don't. Two plugins replacing wp_mail() means whichever loads first wins,
silently. The plugin warns you when it detects one.
Only from a domain you have verified on your eusend account. That is the point — an unverified domain is exactly what gets mail discarded. "Force the From address" is on by default so a plugin that hardcodes its own sender cannot break your sending.
Yes. WooCommerce sends through wp_mail(), so order confirmations, invoices and shipping
notices all go through eusend with no extra configuration. Set the WooCommerce "From"
address to your verified domain, or leave "Force the From address" on and it is handled.
Yes. Each site keeps its own settings and its own log. Constants defined in wp-config.php
apply across the network.
In the EU. eusend runs entirely on EU infrastructure — that is what it is for.