java如何验证一个email地址是否真实有效。
首先使用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
用JAVA程序验证发邮件的时候收件人的帐号是否存在?
"verifiy"是核实的意思。
如果核实邮箱地址状态是正常的,会返回“OK”的结果
如果返回的结果是“Bad”,那么这个邮件地址就是不存在的。
方法很简单:打开上面的那个网址,在Verify旁边的文本框内输入你要验证的邮箱地址,然后按Verify按钮,开始验证即可
java 判断email 是否存在
检测是不是合法的地址跟检测它是不是存在是两码事。是不是合法是由电子邮件是否符合email协议中定义的格式;是不是存在,是在合法的基础上看这个email是否已被注册。一般情况下看是否合法是比较常用的,其中用正则确实是比较公用的方法。而是否存在,这要分两种情况,1 对于该服务器来说,这个邮箱是否存在,这比较简单,就是查一下数据库中是否有相应的邮箱数据罢了,这可以用来检测该用户名是否在该server下注册了邮箱;另一种就是你说的我现在要发某一封邮件去一个邮箱,发之前我想确认一下该邮箱是否存在,这个就比较麻烦了,而且一般是作不到的,因为邮件server完全可以不提供相应的api给你,所以你也可以看到一般邮箱的认证就是发一封邮件到你邮箱里,让你自己登录去点某个链接去认证,所以你还是死心了吧。
= 0; i result.length; i++) { host = result[i].getAdditionalName().toString(); client.connect(host);
java如何验证一个email地址是否真实有效。 首先使用java提供的格式类判断email是否格式有误,然后使用开源框架,验证邮箱是否有用,示例如下:public static boolean checkEmail(String email) {