Linux 软件免费装
Banner图

Duva Mail

开发者 duvamail
更新时间 2026年10月2日 16:55
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

email woocommerce wp_mail transactional email password reset

下载

0.1.0

详情介绍:

WordPress sends its emails with the web server's mail function, which is often unreliable and ends up in spam. Duva Mail replaces that transport: every email sent with wp_mail() (WooCommerce orders, contact forms, password resets, comment notifications, any plugin) is submitted to your Duva account over HTTPS. What you need A Duva account with a verified sending domain, and an API key created for that domain in the Duva dashboard. Things to know before you install

安装:

  1. Upload the duva-mail folder to /wp-content/plugins/, or install the zip from Plugins > Add New > Upload Plugin.
  2. Activate the plugin.
  3. Go to Settings > Duva Mail and enter your sending domain and API key.
  4. Click Send a test email.
Optional: to keep the API key out of the database, add this line to wp-config.php (it then takes precedence, and the settings field is hidden): define( 'DUVA_MAIL_API_KEY', 'dv_...' );

屏幕截图:

  • The "Latest failures" table with the HTTP status, the Duva error code and a message, shown after a failed test email.
  • The admin notice shown when the plugin is active but not configured.

升级注意事项:

0.1.0 First version.

常见问题:

The plugin is active but my emails are not sent.

Open Settings > Duva Mail: the status shows whether the plugin is configured, and the failure log shows the latest errors (HTTP status, error code and message). A 404 means the API key is unknown, revoked, expired, or belongs to another domain; a 403 that the domain is not verified yet or the account is not allowed to send; a 429 that a rate limit or your sending quota was reached.

Does it fall back to the default WordPress mailer when Duva fails?

No, on purpose. A silent fallback would send transactional emails from an unverified server and hide the problem. The failure is returned to the caller (wp_mail() returns false), logged, and displayed to administrators.

Does it work with WooCommerce, Contact Form 7, Gravity Forms...?

Yes, as long as they send through wp_mail(). Check that the sender address they use is on your sending domain; otherwise Duva Mail replaces it by the default sender address of the settings and keeps the original in Reply-To.

Why are my Cc and Bcc recipients not shown to each other?

The Duva API has no Cc or Bcc fields: it sends one copy per recipient. Duva Mail adds your Cc and Bcc addresses as recipients, so each of them receives the email, but nobody sees the others.

Why was an email refused because of a header?

The Duva API only accepts X-* headers (except the ones reserved by the platform) and a short list of standard ones: List-Unsubscribe, List-Unsubscribe-Post, List-Id, In-Reply-To, References, Auto-Submitted, Precedence, Importance, Feedback-ID. Headers such as Return-Path, Message-ID or DKIM-Signature are refused. Remove them from the code that sends the email.

What happens with attachments?

Local files are read and sent with the email, up to 10 files and 5 MB in total. Executable and script extensions (.exe, .js...) are refused. Accounts that are still in the Duva sandbox cannot send attachments. Beyond a limit, the email fails with an explicit error and is not sent.

Can I add tags, metadata or open tracking?

Yes, with the duva_mail_payload filter, which receives the request body and the wp_mail() arguments just before the request is sent, and returns the body to send: add_filter( 'duva_mail_payload', function ( $payload ) { $payload['tags'] = array( 'wordpress' ); return $payload; } );

Where is the API key stored?

In the duva_mail_settings option, or nowhere in the database if you define DUVA_MAIL_API_KEY in wp-config.php (recommended). The key is never sent to the browser, shown in a page, written to the failure log or included in an error message.

What does the failure log contain?

Error messages only: no API key, no email content, no full email addresses (they are masked). It keeps the 20 latest failures and can be cleared.

What happens to my data when I uninstall?

Deleting the plugin removes its options (settings, failure log, status). Emails already submitted to Duva stay in your Duva account.

Does it support multisite?

Settings are per site. Network activation is not specifically supported yet.

更新日志:

0.1.0