如何检测域是否已捕获所有接受电子邮件的策略?

时间:2013-07-30 12:35:39

标签: php email smtp catch-all

我差不多用一种工具来检测电子邮件是否有效。我陷入了必须检测的小点,如果邮件服务器或域具有全能策略启用。

全部抓住:即使电子邮件地址没有退出,邮件服务器也会接受所有电子邮件。

谢谢。

2 个答案:

答案 0 :(得分:5)

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

如果您在发送过程中没有收到拒绝,并且几分钟内没有退回到您脚本的信封发件人地址,那么可以成为一个全面的参与者。但它也可能只是意味着目标服务器隔离或丢弃了您的邮件,或者反弹没有让它回复给您。

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

旁注:如果此工具将公开,请确保其受到适当保护。自动发送邮件的工具是滥用的热门目标。

答案 1 :(得分:1)

您可以使用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

如果你得到了#34;好的&#34;对于无效的电子邮件地址,该域名是catchall域。

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

相关问题