[WordPress] 外掛分享: Email Essentials

WordPress 外掛 Email Essentials 的封面圖片。

前言介紹

  • 這款 WordPress 外掛「Email Essentials」是 2026-01-29 上架。
  • 目前有 30 個安裝啟用數。
  • 上一次更新是 2026-01-30,距離現在已有 27 天。
  • 外掛最低要求 WordPress 5.6 以上版本才可以安裝。
  • 外掛要求網站主機運作至少需要 PHP 版本 7.4 以上。
  • 尚未有人給過這款外掛評分。
  • 還沒有人在論壇上發問,可能目前使用數不多,還沒有什麼大問題。

外掛協作開發者

acato |

外掛標籤

DKIM | smtp | email | smime | deliverability |

內容簡介

### 總結:
Email Essentials 大大降低您的郵件被標記為垃圾郵件或被拒收的風險。這個外掛最初是一個調試工具,現在已成為一個功能完善的郵件增強外掛程式。

### 問題與答案:

- 問題: Email Essentials 外掛的主要功能是什麼?
- 答案: Email Essentials 外掛大大降低郵件被標記為垃圾郵件或被拒收的風險,並可以自動糾正寄件人姓名和電子郵件地址。

- 問題: 這個外掛支援哪些郵件協議?
- 答案: 這個外掛主要用於增強 WordPress 的郵件發送能力,不支援除 SMTP 之外的其他協議。如果需要其他協議的發送功能,應考慮使用其他外掛如 Post SMTP。

- 問題: 如何支持和參與這個外掛的發展?
- 答案: 使用者可以通過貢獻代碼、報告錯誤和幫助社群中的其他使用者來支持這個外掛的發展。

- 問題: 如果發現漏洞應該如何負責任地披露?
- 答案: 如果發現漏洞,應該通過電子郵件 [email protected] 聯繫來進行負責任的披露。

原文外掛簡介

Email Essentials vastly reduces the chances of your emails being marked as spam or being rejected. Originally a debugging tool, it has grown into a full-fledged email enhancement plugin.
Please note that this plugin is not a “we support any type of transport” Email plugin. For other protocols than SMTP, but rather to enhance the email sending capabilities of WordPress.
If you need to send emails with other protocols than SMTP, this plugin is not for you. You might want to look at plugins like Post SMTP (not affiliated).
And since version 6.0.0, after more than 10 years of development, this plugin is now a FOSS plugin, meaning it is free to use, modify and distribute under the GPLv2 license.
In return, we ask you to support the development of this plugin by contributing to the codebase, reporting bugs, and helping others in the community.
Responsible disclosure:
If you find a vulnerability, please email us at [email protected].
Features

Set a good From name and email address, automatically correcting it if needed. For example, a contact form is sent from the visitors email address, resulting in an invalid Sender address. This plugin will correct it to a valid email address. This plugin automatically corrects it.
Correct envelope-from address; often forgotten, but important for deliverability.
Reformat as HTML with plain text alternative; will detect the use of HTML ensures that emails are sent as HTML with a plain text alternative.
Process shortcodes in your email content.
UTF8 recoding, to ensure that special characters are correctly encoded in the email.
Email Essentials allows for adding CSS, header, footer, and body template using filters, see below.
Convert CSS to inline styles for better support in email clients
SMTP configuration
Send emails to multiple addressees as separate emails
S/MIME signing, using a supplied certificate, to ensure the authenticity of the email.
DKIM signing, and providing all information needed to set up DKIM signing for your domain.
Allow redirecting emails sent to the administrator to other email addresses based on the email subject.
Allow redirecting emails sent to the moderators (e.g., for comments).
Keep a history of outgoing emails (debugging, cleared on deactivation)
Email receipt tracking (for investigative purposes only, see GDPR note)
Re-send button for failed emails
Allow sending emails delayed, to prevent sending too many emails at once. (Beta feature)

Important Note
This tool is for users who understand email delivery. If unsure, ask for help.
Under GDPR, storing and tracking emails is prohibited. The history feature is for investigative purposes only!
External services
Email Essentials uses one external service by default, two if you create and define your own IP services.

CloudFlare DNS over HTTPS (DoH). This is used to resolve domain names to IP addresses when (for example) checking SPF or DKIM records. In theory, it is possible to use PHPs own dns_get_record function, but in practice this often fails due to server DNS-resolve misconfiguration. Using CloudFlare’s DoH service ensures reliable DNS resolution. We only send the hostname (the domain part) to CloudFlare, no other data. Explicitly, we do NOT send any other information.
The plugin can use an IP-address relay service to accurately determine the sender’s IP address. This is required to accurately check that the sender’s IP address is authorized to send email for the domain (SPF check). To use this, you will need to set up your own service, see documentation on filter acato_email_essentials_ip_services. Without this service, IP detection can be inaccurate because it will use the website itself as a relay. Use of a reverse proxy, load balancer etc. can lead to incorrect IP detection.

WordPress Filters

acato_email_essentials_settings — Filter plugin settings.
acato_email_essentials_defaults — Filter default settings.
acato_email_essentials_subject — Filter email subject.
acato_email_essentials_body — Filter HTML body of the email.
acato_email_essentials_head — Filter HEAD section of HTML email.
acato_email_essentials_css — Filter CSS for the email.
acato_email_essentials_minify_css — Filter CSS minification.
acato_email_essentials_mail_is_throttled — Check if mail should be throttled.
acato_email_essentials_mail_throttle_time_window — Set mail throttle time window.
acato_email_essentials_mail_throttle_max_count_per_time_window — Set max emails per time window.
acato_email_essentials_mail_throttle_batch_size — Set mail batch size.
acato_email_essentials_ip_services — Define custom IP services for accurately determining the sender’s IP address.
acato_email_essentials_ip_service — Filter individual IP service URLs.
acato_email_essentials_website_root_path — Filter to supply the correct website root path in case of non-standard setups.
acato_email_essentials_development_tlds — Filter development/local TLDs.

WordPress Filters in detail
Plugin Settings
acato_email_essentials_settings

Parameters:
– (array) $settings The current settings of the plugin.
Expected return:
– (array) The new settings of the plugin.
acato_email_essentials_defaults

Parameters:
– (array) $defaults The current default settings of the plugin.
Expected return:
– (array) The new default settings of the plugin.
Email Content
acato_email_essentials_subject

Parameters:
– (string) $the_subject Subject for the email.
– (PHPMailer) $mailer The PHPMailer object (by reference).
Expected return:
– (string) The (altered) Subject.
acato_email_essentials_body

Parameters:
– (string) $should_be_html A text that should be html, but might not yet be, your job to make a nice HTML body.
– (PHPMailer) $mailer The PHPMailer object (by reference).
Expected return:
– (string) A text that should be html.
acato_email_essentials_head

Parameters:
– (string) $the_head_section HTML that is the HEAD section of the HTML email.
– (PHPMailer) $mailer The PHPMailer object (by reference).
Expected return:
– (string) The altered HEAD section of the HTML email.
acato_email_essentials_css

Parameters:
– (string) $the_css CSS for the email (empty by default).
– (PHPMailer) $mailer The PHPMailer object (by reference).
Expected return:
– (string) The (altered) CSS.
acato_email_essentials_minify_css

Parameters:
– (string) $css CSS to be minified.
Expected return:
– (string) The minified CSS.
Mail Throttling
acato_email_essentials_mail_is_throttled

Parameters:
– (bool) $is_throttled Whether the mail is currently throttled.
– (string) $ip The sender’s IP address.
– (int) $mails_recently_sent Number of mails recently sent from this IP.
Expected return:
– (bool) Whether the mail should be throttled.
acato_email_essentials_mail_throttle_time_window

Parameters:
– (int) $time_window Time window in seconds for counting sent emails.
Expected return:
– (int) The (altered) time window in seconds.
acato_email_essentials_mail_throttle_max_count_per_time_window

Parameters:
– (int) $count Maximum number of emails allowed per time window.
Expected return:
– (int) The (altered) maximum count.
acato_email_essentials_mail_throttle_batch_size

Parameters:
– (int) $size Number of emails to send in a single batch.
Expected return:
– (int) The (altered) batch size.
IP Detection
acato_email_essentials_ip_services

Parameters:
– (array) $services The current list of IP services used to determine the sender’s IP address.
Expected return:
– (array) The (altered) list of IP services.
The services must be keyed with ipv4, ipv6 and dual-stack. The values must be URLs that return the IP address in plain text.
The dual-stack service should return an IPv6 address if available, otherwise an IPv4 address, never both.
You can set-up your own service like this;

You will need a webserver that can run PHP, and you need a DNS service that allows you to manually add records.
You will need three webspaces, for example; ipv4.myservice.com, ipv6.myservice.com and dual-stack.myservice.com.

You could use the same webspace for all three, but you will still need three subdomains on the service.

For the ipv4 subdomain, ONLY register an A record, pointing to the webserver’s IP address.
For the ipv6 subdomain, ONLY register an AAAA record, pointing to the webserver’s IPv6 address.
For the dual-stack subdomain, register both an A and an AAAA record, pointing to the webserver’s IP addresses.

Create a file called index.php in each of the webspaces with the following content:
php

各版本下載點

  • 方法一:點下方版本號的連結下載 ZIP 檔案後,登入網站後台左側選單「外掛」的「安裝外掛」,然後選擇上方的「上傳外掛」,把下載回去的 ZIP 外掛打包檔案上傳上去安裝與啟用。
  • 方法二:透過「安裝外掛」的畫面右方搜尋功能,搜尋外掛名稱「Email Essentials」來進行安裝。

(建議使用方法二,確保安裝的版本符合當前運作的 WordPress 環境。


6.0.0 | trunk |

延伸相關外掛(你可能也想知道)

文章
Filter
Mastodon