6

有什么方法可以验证域中的电子邮件 ID 是否存在?

我有以下功能:它只检查有效域,但我需要检查域中的有效电子邮件地址而不发送任何邮件。

 public boolean isValidEmailAddress(String email) {
   boolean result = true;

   try {
      InternetAddress emailAddr = new InternetAddress(email);
      emailAddr.validate();

   } catch (AddressException ex) {
      result = false;
   }
   return result;
}
4

2 回答 2

4

这是一个可以进行多种类型验证的源代码,我已经使用了多年:

http://www.rgagnon.com/javadetails/java-0452.html

注意:请参阅页面中的函数 isAddressValid() 进行完整验证。

于 2012-11-19T11:56:03.007 回答
1

听起来您需要SMTP VRFY 命令

此命令将请求接收 SMTP 服务器验证给定的电子邮件用户名是否有效。SMTP 服务器将回复用户的登录名。可以在 sendmail 中关闭此功能,因为允许它可能是一个安全漏洞。VRFY 命令可用于探测系统上的登录名。有关关闭此功能的信息,请参阅下面的安全部分。

请注意上面的安全问题。

于 2012-11-19T11:52:58.790 回答