6

我几乎完成了一个工具来检测电子邮件是否有效。我被困在一个小点上,我必须检测邮件服务器或域是否启用了包罗万象的策略。

Catch all:即使电子邮件地址不存在,邮件服务器也会接受所有电子邮件。

谢谢你。

4

2 回答 2

8

没有 100% 可靠的方法来检测您无法控制的邮件服务器的全部内容。最有希望的方法是在目标域中生成一个绝对不用作真实账户的随机地址并发送测试消息。

如果您在发送时没有收到拒绝,并且在几分钟内没有退回到脚本的信封发件人地址,则可能涉及到包罗万象的问题。但这也可能仅仅意味着目标服务器隔离或丢弃了您的邮件,或者退回邮件没有返回给您。

如果您走这条路,请确保您的工具生成有效的消息,包含所有必要的标头,具有正确的 dns/helo 设置,不使用任何非 rfc smtp 快捷方式等,以免被过滤。

附带说明:如果此工具要公开,请确保对其进行适当保护。自动发送邮件的工具是流行的滥用目标。

于 2013-07-30T15:51:32.770 回答
6

您可以使用 Telnet 识别域是否包罗万象。针对该域创建无效的电子邮件地址。

e.g.
domain : example.com
Email Adddress : dummyemail@example.com, invalid.email@example.com

如何远程登录:

第 1 步- 查找 example.com 的邮件交换器或邮件服务器

Commmand : 
nslookup -q=mx example.com

Response:
Non-authoritative answer:
example.com mail exchanger = 10 aspmx.l.google.com.
example.com mail exchanger = 20 alt1.aspmx.l.google.com.
example.com mail exchanger = 30 alt2.aspmx.l.google.com.
example.com mail exchanger = 40 aspmx2.googlemail.com.
example.com mail exchanger = 50 aspmx3.googlemail.com.

第 2 步- 现在我们知道邮件服务器,所以让我们连接到它。

Command:
telnet aspmx.l.google.com 25

Response:
Trying 74.125.24.27...
Connected to aspmx.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP z79si2772641pfi.381 - gsmtp

第 3 步- 输入 helo hi

Command:
helo hi

Response:
250 mx.google.com at your service

第 4 步- 用于远程登录到目标电子邮件地址的电子邮件地址

Command:
mail from: <emailaddress@gmail.com>

Response:
250 2.1.0 OK z79si2772641pfi.381 - gsmtp

第 5 步- 您要验证的目标电子邮件地址

Command:
rcpt to: <targetemailid@example.com>

Response:
250 2.1.5 OK z79si2772641pfi.381 - gsmtp

如果您对无效的电子邮件地址“确定”,则该域是包罗万象的域。

简单来说,一个包罗万象的域意味着,该公司的服务器将捕获发送到该域的任何电子邮件,甚至是一个不存在的地址,并将其存储在一个称为包罗万象的部分中。发生这种情况时,您不知道它是否是合法的电子邮件地址。

于 2018-02-16T12:47:26.257 回答