1

从我一直在阅读的内容来看,SPF 可用于通过发送命令(而不是实际的电子邮件)来验证电子邮件地址,例如 HELO。我已经设法掌握了该政策的基本知识,但我无法理解如何解决以下问题:

我在 CRM 系统中为联系人附加了许多电子邮件地址,我想了解这些电子邮件地址是否有效且仍在使用中。

目前我们正在使用一个 REST Web 服务(http://emailinspector.co.uk/),它返回“Ok”(如果它没问题...... duh)、“Bad”(如果它无效或未在使用中)或“未知”。对于未知,您还可以得到一些关于它为何返回的注释,即告诉您邮箱是否已满或它是否是众所周知的 DEA。

我希望能够编写一个可以复制此功能的脚本,并且根据我的研究结果,它应该使用发件人策略框架来执行此操作吗?问题是我不知道如何为“未知”电子邮件地址返回如此精确的信息。

想法和想法?

4

1 回答 1

1

实际上 SPF 只是一个文本记录,带有一些“提示”让您知道 IP 地址或邮件服务器是否“允许/授权”为该域发送电子邮件。它不会告诉您有关该域中单个电子邮件地址的任何信息。

例如

    [doon@qix:~] host -t txt labratsoftware.com
       labratsoftware.com descriptive text "v=spf1 a -all"

我的一个域的 SPF 记录表明,只有该域的 a 记录被授权为 labratsoftware.com 发送电子邮件,如果它不是来自该 IP,那么它应该被拒绝(-all)。

因此,您可以使用 SPF 做的最好的事情就是告诉您收到的电子邮件来自授权主机,然后使用该信息来帮助决定您是否要拒绝它。

测试您拥有的电子邮件地址有效性的最佳方法是通过电子邮件发送它,然后查看它是否被退回。您可以使用 VERP (http://en.wikipedia.org/wiki/Variable_envelope_return_path) 等选项来自动处理退回邮件。您还可以尝试连接到为域列出的 MX 记录,并尝试以这种方式传递消息。一些邮件服务器支持验证(但大多数管理员禁用此功能以防止信息泄露)。您可以使用 RCPT TO 来查看服务器是否接受它,但即使接受,您也无法知道它是否真的会进入他们的收件箱。我的猜测是这就是您当前使用的 API 正在做的事情。未知只是那些要么不回答,灰名单等。

于 2012-12-14T15:00:58.670 回答