
java如何验证一个email地址是否真实有效。 10
java如何验证一个email地址是否真实有效,不光是在页面上校验他是否是一个合法的email地址,而是要确定这个email地址在网络上是否真实存在。...
java如何验证一个email地址是否真实有效,不光是在页面上校验他是否是一个合法的email地址,而是要确定这个email地址在网络上是否真实存在。
展开
5个回答
展开全部
首先使用java提供的格式类判断email是否格式有误,然后使用开源框架,验证邮箱是否有用,示例如下:
public static boolean checkEmail(String email) {
if (!email.matches("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+")) {
return false;
}
String host = "";
String hostName = email.split("@")[1];
Record[] result = null;
SMTPClient client = new SMTPClient();
try {
// 查找MX记录
Lookup lookup = new Lookup(hostName, Type.MX);
lookup.run();
if (lookup.getResult() != Lookup.SUCCESSFUL) {
return false;
} else {
result = lookup.getAnswers();
}
// 连接到邮箱服务器
for (int i = 0; i < result.length; i++) {
host = result[i].getAdditionalName().toString();
client.connect(host);
if (!SMTPReply.isPositiveCompletion(client.getReplyCode())) {
client.disconnect();
continue;
} else {
break;
}
}
//以下2项自己填写快速的,有效的邮箱
client.login("163.com");
client.setSender("sxgkwei@163.com");
client.addRecipient(email);
if (250 == client.getReplyCode()) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
client.disconnect();
} catch (IOException e) {
}
}
return false;
}
需要的jar支持:commons-net-2.2.jar,dnsjava-2.1.1.jar
展开全部
这个嘛我觉得是不可能的!首先你注册不同的email 是注册到不同网站的数据库中,各个网站不可能让你到他们的数据库中查找这个email 是否存在,所以你这个问题不存在!可以忽略!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个无法判断0 0.
如注册。只能首先使用正则表达式,要求正确输入。。然后程序发送电子邮件到输入的邮箱,进行二次确认,方可。这个时候对方就需要进入邮箱进行一系列操作。
只能这样。希望对你有帮助
如注册。只能首先使用正则表达式,要求正确输入。。然后程序发送电子邮件到输入的邮箱,进行二次确认,方可。这个时候对方就需要进入邮箱进行一系列操作。
只能这样。希望对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检测是不是合法的地址跟检测它是不是存在是两码事。是不是合法是由电子邮件是否符合email协议中定义的格式;是不是存在,是在合法的基础上看这个email是否已被注册。一般情况下看是否合法是比较常用的,其中用正则确实是比较公用的方法。而是否存在,这要分两种情况,1 对于该服务器来说,这个邮箱是否存在,这比较简单,就是查一下数据库中是否有相应的邮箱数据罢了,这可以用来检测该用户名是否在该server下注册了邮箱;另一种就是你说的我现在要发某一封邮件去一个邮箱,发之前我想确认一下该邮箱是否存在,这个就比较麻烦了,而且一般是作不到的,因为邮件server完全可以不提供相应的api给你,所以你也可以看到一般邮箱的认证就是发一封邮件到你邮箱里,让你自己登录去点某个链接去认证,所以你还是死心了吧。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正则
更多追问追答
追问
我是说,不光检验格式,要检测这个email地址是否真实存在。
追答
REG_email = "^[\\w\\d]+@[\\w\\d]+(\\.[\\w\\d]+)+$"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询