页面

2010年12月22日星期三

如何验证电邮地址?Ping 一下试试!

如何验证别人给的电子邮件地址的真假?大家想到的可能是往该地址发一封测试邮件,如果邮件没有被退回,大体上*就可以认为邮件地址是真的了。
[*] 有些域名配置了接收所有地址的电子邮件,这样发往不存在信箱的信息也不会被退回;但大多数情况下这样的邮件会被退回。

通过 Ping 来验证电子邮件地址!

当发送邮件时,信息会被发往 SMTP 服务器,该服务器随后将查找收信者域名的 MX (邮件交换) 记录。

例如,当您发邮件给 hello@gmail.com 时,邮件服务器将尝试查找 gmail.com 这个域名的 MX 记录。若记录存在,下一步则是判断电邮用户名(本例中为 hello)是否存在。

基于类似的逻辑,我们可以直接在自己的计算机上验证电子邮件地址,而无需发送测试信息。方法如下:

假设我们要验证 billgates@gmail.com 这个地址是否存在。

第一步:启用 Windows 中的 telnet(安装方法:控制面板 - 程序 - 打开/关闭 Windows 功能)。或者如果您已安装 PuTTY 实用工具,可以跳过本步。

第二步:打开命令提示符,输入下列命令:
nslookup –type=mx gmail.com
该命令将提取并列出域名的 MX 记录,如下所示。请用您待验证的邮件地址的域名代替gmail.com
gmail.com MX preference=30, exchanger = alt3.gmail-smtp-in.l.google.comgmail.com MX preference=20, exchanger = alt2.gmail-smtp-in.l.google.comgmail.com MX preference=5,  exchanger = gmail-smtp-in.l.google.comgmail.com MX preference=10, exchanger = alt1.gmail-smtp-in.l.google.comgmail.com MX preference=40, exchanger = alt4.gmail-smtp-in.l.google.com

第三步:您可能已经注意到,一个域名通常有多条 MX 记录。从中选择一条,如优先级数字最小的(本例中为 gmail-smtp-in.l.google.com),并“假装”要从您的计算机向该服务器发送一条测试信息。

切换到命令提示符窗口,按顺序输入下列命令:

a:连接到邮件服务器:
telnet gmail-smtp-in.l.google.com 25
b:与服务器打招呼
HELO
c:用虚构的电子邮件地址声明自己
mail from:〈labnol@labnol.org〉
d:输入您要验证的收件者电邮地址:
rcpt to:〈billgates@gmail.com〉

收到“rcpt to”命令的服务器将告诉您电子邮件地址是否有效。若地址存在,您将得到“OK”,反之则会得到类似下面这些的 550 错误:

  • abc@gmail.com -- The email account that you tried to reach does not exist.(您尝试访问的电邮账户不存在。)
  • support@gmail.com -- The email account that you tried to reach is disabled.(您尝试访问的电邮账户已被禁用。)

这就是了!如果地址有效,您还可以进行电子邮件反向搜索找到该地址的持有者。

Safety & Cleaning Best Sellers Books