如何检查域中是否存在电子邮件ID而不使用java发送任何邮件
有没有办法validation域中是否存在电子邮件ID?
我有以下function:它只检查有效域,但我需要在域中检查有效的电子邮件地址而不发送任何邮件。
public boolean isValidEmailAddress(String email) { boolean result = true; try { InternetAddress emailAddr = new InternetAddress(email); emailAddr.validate(); } catch (AddressException ex) { result = false; } return result; }
这是一个可以进行多种validation的源代码,我多年来一直在使用它:
http://www.rgagnon.com/javadetails/java-0452.html
注意:请参阅页面中的函数isAddressValid()以进行完整validation。
听起来你需要SMTP VRFY命令 :
此命令将请求接收SMTP服务器validation给定的电子邮件用户名是否有效。 SMTP服务器将使用用户的登录名进行回复。 可以在sendmail中关闭此function,因为允许它可能是一个安全漏洞。 VRFY命令可用于探测系统上的登录名。 有关关闭此function的信息,请参阅下面的安全性部分。
请注意上面的安全问题。