Email Spam Tester

Email Spam Tester › 适用于 Plesk 的 Email Spam Tester

适用于 Plesk 的 Email Spam Tester

面向 Plesk 托管服务商的扩展。客户从域名的 Mail 选项卡打开它,发送一封实际从您服务器发出的测试邮件,然后获取检查结果,查看邮件在各邮件服务商中进入的文件夹,并使用按钮修复 DKIM、SPF 和 DMARC。

版本 0.1.0,2026 年 10 月 1 日。下载(75 KB),SHA-256 5df918a10cd996799f5d144abcc101970fab31fbb7e2298be78362257c0aaa28。安装步骤位于本页末尾,压缩包内的相同内容保存为 INSTALL.md。源代码以及作为 release 发布的同一压缩包也可在 GitHub 上获取。

适用对象

适用于在 Linux 上运行 Plesk Obsidian 18.0.50 或更高版本的托管服务提供商。你需要以 root 身份安装扩展,并注册一次服务器。之后,每位客户都可以在 Websites & Domains › their domain › Mail 中的 Mail Settings 旁找到 Email Spam Tester。服务方案决定客户可以使用哪些功能。

网页测试工具无法检查发送端,它只能看到实际收到的电子邮件。此扩展会通过 Postfix 从你的服务器发送测试邮件,使用域名的 DKIM 密钥签名,并使用服务器的 IP 和 HELO 名称,因此报告反映的是客户实际使用的配置。由于 Plesk 保存着域名的 DNS 区域,缺少的记录通常只需点击一个按钮即可添加。

客户会看到什么

测试

页面顶部是在发送任何邮件之前运行的检查:这台服务器是否通过该域名的 SPF 检查,Plesk 是否使用 DKIM 签名,以及 DNS 中的密钥是否与签名所用密钥一致,还会检查 DMARC 策略和 MX。每个问题都有一个 修复 按钮。如果域名的 DNS 托管在其他位置,则会显示 显示记录。

在下方,客户选择该域名的一个邮箱以及测试邮件的发送方式。邮件可以由该邮箱发送,也可以模拟网站发送邮件的方式,使用订阅自身的系统用户,也就是 WordPress、联系表单和商店通知所使用的发送方式。第二种方式可以发现一个常见的托管问题:PHP 发出的邮件使用了域名 SPF 未涵盖的发件人。邮件可以是标准测试邮件,也可以是客户自己的邮件。标准测试邮件是一封简短的英文邮件,包含文本和 HTML;客户自己的邮件则以主题、HTML 和可选文本的形式粘贴。

“同时检查邮件在各提供商中的文件夹”默认开启。随后,服务器会在后台以随机顺序,间隔两到四秒,向我们在 Gmail、Outlook、Yahoo 和其他提供商的每个测试邮箱发送一份副本。每份副本都有自己的 Message-ID,因此扩展程序可以从 Postfix 日志中找出对应的记录。在接下来的半小时内,表格会逐步显示结果:每个提供商对应收件箱、垃圾邮件或促销;如果提供商拒收,则显示其响应和 SMTP 代码。Gmail 使用的是公开测试邮箱,任何能访问这些邮箱的人都可以看到主题、发件人名称和所在文件夹,因此测试机密内容时最好关闭文件夹检查。

报告包含所有检查项、满分 100 分的评分和经典的 0 到 10 分评分、AI 方案以及相同的修复按钮。这一次,修复操作会使用报告实际检测到的邮件发送 IP。

历史记录

这里列出该域名的所有测试,最新测试排在最前,并显示两种评分和各文件夹的邮件数量、评分图表,以及每次测试相比上一次发生变化的检查项。修复 DKIM 后,对应行会显示 DKIM 从失败变为通过。

监控

如果你在服务器上允许使用此功能,客户可以为域名开启监控。此后,该域名发送的每封邮件都会生成一份技术报告,其中包含 DKIM、SPF 和 DMARC、发送 IP 以及黑名单信息。该标签页按来源汇总过去 24 小时的数据,因此网站 PHP 发送的邮件会与网页邮箱或邮件应用发送的邮件分开统计。接下来是提醒,例如最新邮件的 DKIM 检查失败,或网站发送的邮件未通过 SPF 检查。提醒下方列出最新邮件及其报告。同一商店模板生成的两封订单确认邮件,在一小时内只计为一次检查,因此繁忙的商店不会生成一千份相同的报告。你也可以按需为单封邮件生成 AI 方案。

管理员可以获得什么

Tools & Settings › Mail › Email Spam Tester 中提供注册功能和整台服务器的监控开关。你可以在这里按订阅设置测试、文件夹检查、AI 套餐和受监控域名的限制,还可以按受监控域名设置每日邮件数限制。表格会列出服务器自身的 IP、对应的反向 DNS、是否与 HELO 名称匹配,以及是否被列入黑名单。

该扩展会向服务套餐添加四项权限,分别用于扩展本身、修复按钮、文件夹检查和监控,四项权限默认都处于启用状态。DNS 按钮还需要套餐自身具备管理 DNS 的权限,DKIM 开关则需要具备管理邮件设置的权限。

价格

目前免费,与测试工具本身一样。如果以后有变化,会先在更新日志中说明。你设置的限制不能超过 Email Spam Tester 为每台服务器设置的限制(每天的文件夹检查次数、域名检查次数和受监控域名数),管理员页面会同时显示这两类限制以及今天的使用量。

工作原理以及哪些数据会离开你的服务器

扩展程序从你的服务器发送测试邮件,本身不做任何判断。检查结果、历史记录、变更内容、需要发布的 DNS 记录、监控信息流、提醒和限额,全部由 Email Spam Tester API 处理,网站使用的也是同一个 API。以下数据会发送到 API:

测试报告和网站上一样带有链接,任何获得链接的人都可以打开报告。监控信息流有所不同,因为其中包含你客户的真实邮件。其报告只能使用你的服务器密钥打开,复制的邮件会在两天后删除,报告会在 90 天后删除。其他信息请参阅隐私页面。

托管服务提供商常问的问题

它会自行更改 DNS 吗?

不会。只有当客户点击“Fix”,确认记录当前和更改后的内容,并且该域名的 DNS 确实由你的服务器对外提供时,记录才会更改。SPF 记录会保留原有的所有条目,服务器 IP 会添加在最前面,并且不会增加 DNS 查询次数。现有的 DMARC 策略绝不会被替换。每项更改都会写入 Plesk 的操作日志,并且可以在“Test”选项卡中撤销,前提是此后没有人编辑过该记录。公共解析器会按照该区域的 SOA 最小值缓存记录不存在的结果,Plesk 默认模板中的时间为三小时,因此修复后立即测试,可能仍会显示旧结果。

监控功能如何复制邮件?

Plesk 邮件处理程序会在 Plesk 使用 DKIM 对邮件签名后运行。它会原样传递每封邮件。对于已启用监控的域名,它还会将邮件副本交给监听 127.0.0.1 的 Postfix,该监听器只接受我们的监控地址。然后,Postfix 会像投递其他邮件一样投递该副本,使用相同的 IP 和签名。邮件所属客户根据 SMTP 登录信息或订阅的系统用户确定,绝不会只根据发件人地址判断,因此任何人都无法把自己的邮件推送到其他客户的监控信息流中。处理程序安装在 /usr/local/lib/email-spam-tester,域名列表保存在 /etc/email-spam-tester/monitor.json。

它会拖慢外发邮件吗?

处理程序读取邮件后将其交还。邮件副本由单独的进程传递给本地监听器,因此原始邮件不必等待副本完成投递。我在启用监控的情况下,分别通过 sendmail 和 SMTP 发送了一个 5 MB 的附件,原始邮件和副本都成功送达。

哪些内容已经在实际环境中测试?

已在 Ubuntu 24.04 上的 Plesk Obsidian 18.0.81 中测试,服务器具有公网 IP,并为域名提供 DNS 服务。测试内容包括:安装、卸载和重新安装、注册、使用未配置 DKIM、SPF 或 DMARC 的域名执行包含文件夹检查的测试、三个修复按钮、在三项检查全部通过后进行第二次测试、历史记录,以及监控网站和邮件应用发送的邮件。网页已在本地 Plesk 上测试。尚未测试:其他 Linux 发行版和 Plesk 版本、通过智能主机中继邮件的服务器,以及使用 qmail 而不是 Postfix 的服务器。不支持 Plesk for Windows。如果你在其中一种环境中运行它,请写信告诉我。

逐步安装

本指南假设您拥有 Plesk 服务器的 root 权限。下面的每条命令都可以直接复制并按原样粘贴执行。

1. 准备工作

您可以在安装前检查这两项。第一条命令应输出一行以 220 开头的内容,第二条命令应输出 200:

timeout 10 bash -c 'exec 3<>/dev/tcp/t.email-spam-tester.com/25 && head -1 <&3'
curl -s -o /dev/null -w '%{http_code}\n' https://email-spam-tester.com/health

2. 安装

通过 SSH 以 root 身份登录。下载扩展及其校验和:

cd /root
curl -fsSLO https://email-spam-tester.com/plesk/latest.zip
curl -fsSLO https://email-spam-tester.com/plesk/latest.zip.sha256

检查下载的文件是否完整。您应看到 latest.zip: OK。如果看到 FAILED,请重新下载,不要继续安装:

sha256sum -c latest.zip.sha256

安装扩展:

plesk bin extension --install /root/latest.zip

最后一行应为 The extension was successfully installed.

3. 注册服务器

在 Plesk 中,前往 Tools & Settings › Mail › Email Spam Tester,然后点击 Register this server。您可以留下一个电子邮件地址,用于接收与服务有关的通知,此项为可选项。

注册时会发送服务器的主机名、Plesk 和扩展的版本、订阅数量以及该电子邮件地址。返回内容是一个密钥,它会保留在此服务器上,并加密存储在扩展设置中,客户不会看到该密钥。

客户可以在 Websites & Domains › a domain › Mail 中找到 Email Spam Tester。服务器注册前,扩展只会提示客户联系您。

4. 选择各项功能的使用权限

在 Service Plans › a plan › Permissions 中(以及每个订阅自己的权限设置中),扩展会添加四项权限,默认全部启用:

每个订阅的限额(测试、文件夹检查、AI 套餐、受监控域名、每个域名每天受监控的电子邮件数量)位于同一个 Tools & Settings › Mail › Email Spam Tester 页面。

5. 持续监控(可选)

在您允许此功能且客户为自己的域名启用它之前,系统不会复制任何内容。在 Tools & Settings 中扩展的页面上,点击 Allow constant monitoring on this server。这会添加:

同一页面上还有 Disable on the whole server,它会删除以上三项,并关闭所有域名的监控。

要从命令行查看当前状态:

/usr/local/psa/admin/sbin/modules/email-spam-tester/est-monitor status

"state": "active" 表示监控已启用;"off" 表示从未允许监控或监控已被删除;"partial" 表示缺少某个组件(Plesk 有时会在更新时重写 Postfix 的 master.cf),同一页面上的 Repair 可以恢复该组件。每日任务也会自动执行相同的修复。

6. 升级

按照第 2 步下载新的 latest.zip 及其校验和并完成检查,然后执行:

plesk bin extension --upgrade /root/latest.zip

注册信息、限额和监控设置都会保持不变。如果已启用监控,其文件会更新到新版本。

7. 卸载

plesk bin extension --uninstall email-spam-tester

此操作会从 Postfix 和 Plesk 的邮件处理程序中移除监控功能,并关闭所有受监控域名。它绝不会修改 DNS 记录,包括客户使用扩展中的按钮创建的记录。

如果已启用监控,建议先将其移除,这样如果操作失败,您可以直接看到,而不是只能在 Plesk 日志中发现:

/usr/local/psa/admin/sbin/modules/email-spam-tester/est-monitor disable

命令最后会输出状态。"state": "off" 表示处理程序、监听器和列表均已删除。

8. 如果某些功能无法正常工作