技术解析 · 附来源的解答

灰名单(Greylisting):一种反垃圾邮件机制

灰名单是一种反垃圾邮件技术:收件邮件服务器以 4xx 暂时性失败代码临时拒收来自未知发件人的邮件。服务器预期合法的邮件服务器会在一段时间后重试投递,而许多垃圾邮件机器人不会重试,从而有效过滤掉低质量流量。

工作流程

服务器收到来自未知 IP 或发件人的邮件时,会返回 451 或 450 SMTP 响应码,告诉发信服务器此次投递暂时失败。符合规范的 SMTP 服务器会将邮件排队,并在一定间隔后重新发送,通常为 5 到 30 分钟。第二次尝试到达后,收件服务器会接收该邮件,并在一段时间内将该发件人加入白名单。

对发件人的重要性

对于合法发件人,灰名单会让发给新收件人的第一封邮件出现明显延迟。这要求发信基础设施具备可靠的重试队列。如果发件人使用配置不当的中继,或使用不处理暂时性失败的脚本,邮件将永远无法到达目的地。借助 SendHQ 免费工具维护正确的 DNS 记录,有助于确保发件人在这些检查中被识别为合法发件人。

运维注意事项

对于使用可重试的专业邮件传输代理的成熟垃圾邮件团伙,灰名单的效果较差。它还可能干扰对时效要求高的事务性邮件,例如密码重置或双因素认证验证码,15 分钟的延迟就会让这些内容失去作用。管理员必须在减少垃圾邮件的好处与给最终用户带来的延迟之间取得平衡。

具体示例

example.com 的一位发件人向 user@target.com 发送邮件。目标服务器第一次见到 example.com,于是返回 451 Requested action aborted: local error in processing。example.com 的服务器将邮件排队,并在 10 分钟后重试。目标服务器识别出这是一次重试,接收了邮件,并在接下来的 30 天内把 example.com 加入允许列表。

与黑名单的比较

黑名单根据已知的不良行为永久拦截特定 IP 或域名,而灰名单是一种质询-响应机制。它不依赖不良行为者数据库,而是依赖符合 RFC 标准的邮件服务器与简单垃圾邮件脚本之间的行为差异。

团队常问的问题

灰名单会永久拦截邮件吗?

不会,它返回的是暂时性失败代码。合法服务器会重试,并最终投递邮件。

灰名单会让邮件延迟多久?

延迟通常在 5 分钟到数小时之间,具体取决于收件服务器的配置和发件方的重试间隔。

可以绕过灰名单吗?

可以,方法是建立已知的发件人关系,或由收件服务器将发信 IP 地址加入白名单。

一手资料