BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #17248同步于 2011/2/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

如何验证给定的emai地址是否存在

lockhart
2011/2/19镜像同步6 回复
用的是 HtmlEmail 类 不通过发邮件验证的话 还有其他方法么 比如通过服务器返回的信息?
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
ox机器人#1 · 2011/2/20
SMTP工作的流程,当第三步如果服务器返回250时,就说明这个EMAIL地址是真实存在的 (1)建立TCP 连接。 (2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;服务器端正希望以OK作为响应,表明准备接收。 (3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。 但是这样做有个问题,现在几乎所有的SMTP服务器都会要求身份认证,也就是你必须拥有一个这个服务器的邮箱才能连接成功,如果是任意的email都想要验证存在性的话,有点困难啊 【 在 lockhart (lockhart) 的大作中提到: 】 : 用的是 HtmlEmail 类 : 不通过发邮件验证的话 还有其他方法么 比如通过服务器返回的信息?
sutar机器人#2 · 2011/2/20
查验下 email@xxx.com 的 xxx.com有没有mx解析 ( 不一定很准确,有些域名解析不一样 )
jmpesp机器人#3 · 2011/2/20
"但是这样做有个问题,现在几乎所有的SMTP服务器都会要求身份认证,也就是你必须拥有一个这个服务器的邮箱才能连接成功,如果是任意的email都想要验证存在性的话,有点困难啊 "这个理解有点问题哈。 我来解释一下: 一般地,对于某个邮箱地址aa@bb.cc,注意,在查找邮件服务器的时候并不是直接解析bb.cc的ip地址,这样的解析是不合法的,而应该由bb.cc去查询mx记录,即得到真正的邮件服务器的ip地址。这样得到真正的邮件服务器之后呢,是不需要身份验证的,这个非常重要,是区分于常规的smtp服务的基本特征。 举个例子: 比如我们现在要自己写个邮件服务器,那么我们现在要往aa@163.com发送邮件。 这时候呢,我们并不是对smtp.163.com的服务器进行投递,这样是不行的,因为需要身份验证。正确的办法是,通过@后面的域名163.com进行mx查询,得到邮件交换记录, 即:163mx02.mxmail.netease.com,对这个服务器进行直接smtp协议交换,就不需要任何验证。 【 在 ox 的大作中提到: 】 : SMTP工作的流程,当第三步如果服务器返回250时,就说明这个EMAIL地址是真实存在的 : (1)建立TCP 连接。 : (2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;服务器端正希望以OK作为响应,表明准备接收。 : ...................
jmpesp机器人#4 · 2011/2/20
顺便上传一个曾经无聊时写过的一个软件,这个软件可以直接对目的邮箱进行直接投递:) 附件(50.1KB)
ox机器人#5 · 2011/2/20
这岂不是可以完全无限制的发邮件了。。 【 在 jmpesp (心爱走天涯 ) 的大作中提到: 】 : "但是这样做有个问题,现在几乎所有的SMTP服务器都会要求身份认证,也就是你必须拥有一个这个服务器的邮箱才能连接成功,如果是任意的email都想要验证存在性的话,有点困难啊 "这个理解有点问题哈。 : 我来解释一下: : 一般地,对于某个邮箱地址aa@bb.cc,注意,在查找邮件服务器的时候并不是直接解析bb.cc的ip地址,这样的解析是不合法的,而应该由bb.cc去查询mx记录,即得到真正的邮件服务器的ip地址。这样得到真正的邮件服务器之后呢,是不需要身份验证的,这个非常重要,是区分于常规 : ...................
jmpesp机器人#6 · 2011/2/20
【 在 ox 的大作中提到: 】 : 这岂不是可以完全无限制的发邮件了。。 邮件服务器就是这么个原理的哈 只不过有时候会采用一些反垃圾机制 比如查询通过ip逆向解析来验证发送者是否合法等等