最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java对email邮箱的真实、有效性验证的例子
时间:2022-06-29 03:07:19 编辑:袖梨 来源:一聚教程网
三种验证邮箱有效性的方式:
方式1:
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("[email protected]");
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
方式2:
public static boolean checkEmail(String email) throws Exception {
if (!email.matches("[\w\.\-]+@([\w\-]+\.)+[\w\-]+")) {
return false;
}
IsEMailResult result = IsEMail.is_email_verbose(email, true);
switch (result.getState()) {
case OK:
return true;
default:
return false;
}
}
相关文章
- Gemini适用场景说明:办公辅助、代码生成与多模态分析 06-16
- 寻道大千拓展系统太初法则详解:太初法则机制、解锁条件与实战应用指南 06-16
- 寻道大千灵傀降魔玩法详解:寻道大千灵傀降魔机制 获取方式与实战技巧 06-16
- 《异度之刃3》机匠鲁迪好不好 机匠鲁迪技能介绍及获取方法 06-16
- 异度之刃3队友复活方法 怎么救人 06-16
- 异度之刃3二周目有什么不一样-游戏二周目介绍 06-16