我经营一个提供用户注册服务的网站。用户会自动收到注册成功电子邮件,这些电子邮件是通过专业的电子邮件托管公司发送的(而不是直接从我们自己的服务器发送)。几个月来,这种方式一直很有效。
今天第一次收到注册成功电子邮件并弹出错误消息:
host ghost.mxroute.com[49.12.120.198] said: 550 High scoring spam message has been dropped (in reply to end of DATA command)
我知道,一般来说,这意味着收件人的电子邮件服务器将我们的注册电子邮件归类为垃圾邮件,以及如何避免这种情况的一般技巧,例如设置 DMARC、避免使用“垃圾邮件”措辞以及延长电子邮件的发送时间。事实上,我们的注册确认电子邮件在https://www.mail-tester.com/。
现在我想弄清楚为什么我的电子邮件被归类为垃圾邮件,我不确定错误消息到底告诉我什么。具体来说,我有以下两个问题:
- “高分垃圾邮件”是否具体意味着内容电子邮件被归类为垃圾邮件,或者这是否也可以指向任何其他可能的原因(例如发送服务器的 IP 地址被列入黑名单等)?
- “回复 DATA 命令结束”是什么意思?具体来说,“DATA 命令”是什么?
答案1
当你的机器想要向接收MX服务器提交一封电子邮件时,这是一个几个步骤的过程。
正在连接。理论上,接收 MX 服务器甚至可能拒绝来自发送服务器的连接,例如,如果您的发送服务器的 IP 在黑名单上。如果您通过了此检查并被允许连接,下一步是
握手。您的机器应该发送 HELO / EHLO,接收接收服务器的功能列表并采取相应措施。接收 MX 服务器可能不喜欢它看到的某些内容并终止连接。通过此步骤后,您的机器将发送所谓的信封信息,其中包含两个标头字段:
- FROM:发件人的电子邮件地址
- RCPT TO/CC/BCC:收件人的电子邮件地址
很多连接都会在此情况下被设计为终止,例如,如果您尝试向 MX 服务器提交一封电子邮件,而接收服务器无法处理或中继收件人。这通常会导致某种“不允许中继”错误。
如果您的连接尚未终止,您的机器将启动 DATA 命令并提交电子邮件的实际内容(正文)。
在您的示例中,这就是发生故障的地方。
换句话说:接收 MX 不喜欢所发送邮件正文中的某些内容。
答案2
高分是关键词,告诉你使用了基于分数的垃圾邮件过滤软件。它确实不是不一定会告诉您用于计算分数的任何原因都可以在您的身体中找到,这只是意味着存在多个原因(或者不太可能是收件人不想告诉您的单个原因)。
多种原因怎么会共同导致一条消息被拒绝?
如果您的顶级域名、邮件提供商以及邮件中的某些关键字从未与非垃圾邮件相关联,收件人可能会为每个关键字加 2 分,然后决定 6 分“足够高”以立即拒绝。这就是广泛的垃圾邮件过滤通常的工作方式:为某些关键字添加(可能自动)微调的值指标垃圾邮件到化合物分数,然后决定哪个分数足以证明无人看管的行动是合理的。
该分数是否计算为积极的值表示不想要的消息的可能性较小,或者相反,这仅仅是一个实现细节。据我所知,您提到的测试服务计算它的方式,为最少数量的未经授权或垃圾邮件指标分配高分并不常见。
如果邮件内容都没有使用,那么怎么会在 DATA 命令之后出现拒绝呢?
这可能只是管理员设置系统的方式。如果分数能包括基于邮件内容的调整,那么先判断邮件头,然后在收到数据后再判断整封邮件可能就没意义了。在所有数据可用后,扫描邮件一次通常更简单,而无需针对邮件头中的指标无法通过正文内容弥补的特殊情况进行优化。
一个理由怎么就足够了,但信息却故意不这么说?
如果您的邮件包含类似这样的标头X-Sending-Software: WordPress addon xyz v0.2
,并且我知道这意味着邮件是从无人维护的服务器发送的,或者很可能是从因特定已知易受攻击的 Web 应用程序版本而被滥用来发送邮件的服务器发送的,那么让垃圾邮件发送者知道我如何检测到他只会告诉垃圾邮件发送者如何避免我粗暴但有效的检测。在这种情况下,我将模仿我的评分系统的信息,即使没有使用多组件评分。
(另一个答案解释了DATA命令的含义)