如何知道电子邮件地址是否无效?

时间:2010-11-20 23:06:20

标签: php web-services email

我在www.email.it上的电子邮件地址已被禁用,因为我很长时间没有使用它。

现在,当我进入FB时,我收到了这条消息:

"Our systems have detected that xxxxxxx@email.it is no longer a valid email. "

所以我的问题是:

这些系统如何检测电子邮件是否有效?

6 个答案:

答案 0 :(得分:5)

您无法检测电子邮件是否是假的。您所能做的就是检测字符串是否符合有效电子邮件地址格式的RFC 5322。除非您拥有此服务器,否则您无法知道是否已在目标SMTP服务器上声明此类帐户。您可以尝试向此地址发送电子邮件,并查看远程SMTP服务器的响应情况。

答案 1 :(得分:2)

您无法可靠地确定电子邮件是否有效。 SMTP服务器假设实现VRFY命令,但许多服务器已禁用此命令以防止垃圾邮件发送者检测到有效的电子邮件地址。

此外,即使电子邮件地址尊重RFC 5322有效的电子邮件地址格式,也不意味着它是目标服务器上的有效电子邮件地址;许多服务器没有正确实现这个标准!

您可以做的最好的事情是通过电子邮件中的回复链接向该地址发送电子邮件。如果电子邮件地址有效并且用户阅读电子邮件并且用户单击该链接,那么可能是电子邮件地址有效(它可能已被拦截,从而导致误报)。

如果电子邮件退回,则可能表示该电子邮件地址无效(但也可能是目标服务器已关闭,或邮箱已满,或者谁知道还有什么)。

正如您所看到的,鉴于它在实践中的运作情况,SMTP非常不可靠。

答案 2 :(得分:2)

Facebook很可能试图将邮件发送到该地址。他们知道该地址无效,因为邮件被退回。

答案 3 :(得分:2)

也许他们试图向主持人发送电子邮件(例如更新EULA)并以不友好的方式回复 - 因此“无效”

SMTP对于它如何处理 - 或者不处理 - 有点愚蠢 - “无法统一传递”消息,但各种检测可能“足够好”(VRFY,检查自动回复消息等)。 )

答案 4 :(得分:2)

我很确定FB已经向您发送了任何类型的电子邮件,并且因为您的邮件已被删除或停用......您的电子邮件将会弹回给他们,并显示错误消息:

No such user 
mailbox unavailable 
etc  ..

所以他们能够知道并停用您的帐户

如果您想知道错误消息只是发送电子邮件并等待它反弹给您

简单但方便:)

答案 5 :(得分:1)

一些公司做的事情(也可能是FB,虽然我不确定)会定期向该帐户发送电子邮件,只是为了查看它是否“正常” - 他们会要求接收方点击链接以证明电子邮件地址仍在使用中。

在几封未收到回复的电子邮件(或bounced)之后,他们会认为电子邮件地址“已死”。