- 浏览: 134496 次
- 性别:
- 来自: 北京
文章分类
最新评论
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
此方式优点:验证出的结果,完全符合真实情况,如果一个邮箱被验证存在,那么它就一定存在,反之亦然。
此方式缺点:验证时比较耗时,我自己检测,需要5秒左右的时耗;实际情况视你自己写的发件方而定。
核心代码:
public static boolean checkEmail(String email) throws DNSLookupException {
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;
}
}
需要的jar支持:IsEMail.jar
此方式优点:验证时耗时短,我自己检测,几乎立刻就可以获得结果。
此方式缺点:验证出的结果,基本符合真实情况;此方式验证的只是邮箱表示的站点是否存在,至于邮箱是否真实存在则不一定。如***@gmail.com格式的邮箱,则全部验证存在,但实际情况则并非如此;但提供此种邮箱服务的google站点却的确真实存在。
发表评论
-
使用memcached进行并发控制(转)
2015-12-29 14:39 840版权声明:本文为博主 ... -
Lock和Synchronized的不同
2014-10-24 15:46 738在 Java 中线程的状态可以分为:新建(New),运行状 ... -
ClassLoader加载流程
2014-04-16 09:59 582[b]当运行一个程序的时候,JVM启动, 运行bootstar ... -
springmvc请求接收参数的几种方法(转载)
2014-04-14 13:37 1485通过@PathVariabl注解获取路径中传递参数 JAVA ... -
JDK里的设计模式
2014-03-10 09:52 581适配器模式: 用来把一个接口转化成另一个接口。 java ... -
include与jsp:include区别
2014-02-28 15:03 551在jsp中include有两种形式,分别是 <%@ i ... -
DBCP的配置参数
2014-02-25 15:51 714tomcatde DHCP的配置 <Resource d ... -
java 时间处理的工具类(转)
2014-01-27 15:13 622import java.text.ParseException ... -
log4j
2014-01-17 13:56 339public Logger m_log = null; ... -
关于java Date和时区的问题
2013-12-18 11:55 816java2平台为我们提供了丰富的日期时间API。如java.u ... -
hessian异常总结
2013-12-12 17:53 1220版本不兼容 com.caucho.hessian.io.Hes ... -
java异常
2013-09-06 12:01 531java.sql.SQLException: Incorrec ... -
汉字转码的java实现
2013-08-05 17:26 972package common; import java.ut ... -
优化Servlet配置
2013-04-09 10:31 615[b] 以往每添加一个Servlet就要在web. ... -
纯hessian的部署(转)
2012-11-06 17:44 802Web 服务是通过在 Web 服务器上部署 Servlet 来 ... -
Ehcache的使用
2012-07-27 15:11 832一、 配置文件ehcache.xml <ehcache& ... -
struts2上传文件活动文件名、类型
2012-05-16 08:45 900public class FileUpload { ... -
struts2乱码
2012-05-14 17:36 0Struts2.1.6 StrutsPrepareAndExe ... -
解决struts2过滤器冲突问题
2012-04-27 13:40 0struts2使用FilterDispatcher进行url过 ... -
cron表达式
2012-03-14 15:02 833所在组的定时任务用的quartz,是我第一个用的,今天有同事用 ...
相关推荐
验证邮件地址有效性(是否是空邮件地址)。
NULL 博文链接:https://tristan-s.iteye.com/blog/1745602
克瑞思邮址验证器是一款邮件营销必备的辅助工具,具体功能是批量验证收信邮箱是否真实有效,批量清除那些无效的、不存在的、格式不正确的邮箱地址。 验 证期间不向被验证的邮箱发送任何信息,验证效率高,准验证...
鑫河批量验证邮箱地址有效性工具是由鑫河软件开发的专业好用的验证邮箱地址有效性工具。 鑫河软件的批量验证邮箱地址工具功能 一、本软件可以实现检查以下网络协议:SMTP、MIME、POP3、FTP、WhoIs、DNS、ICMP 和 ...
链接服务器,验证有效性,SMTP,通过,C++,MFC,socket,很基础,但可以用
验证邮件是否真实有效,将不可用邮件地址过滤。
分享一个php中Socket发送邮件验证邮箱的类,Socket发送邮件验证邮箱的真实有效性而非格式。
万能邮箱真实性批量验证工具,Email邮箱地址通用验证工具是一款专门提供邮箱地址验证的软件,该软件无需安装即可使用,帮助你批量验证收信邮箱是否真实有效,该软件验证效率非常高、验证结果很准确、验证速度非常快...
MOA电子邮件有效性验证工具是一款电子邮箱地址验证工具,能够帮助你验证一个电子邮件地址是否真实有效。搜索到了很多邮址,是否是全部有效呢,用我们的MOA电子邮件有效性验证工
此DEMO为C#的通过发送邮件来激活注册用户
广邮软件邮件生成验证系统一款集准确验证邮件地址是否真实存在、查询管理邮件地址,以简洁亲和的界面,轻松方便操作的邮件生成验证系统。 广邮软件邮件生成验证系统主要...2. 修正验证邮件地址时的速度和准确性
mailck-用于电子邮件验证的SMTP邮件验证golang库此库可让您检查电子邮件地址是否确实有效:语法检查一次性邮件服务器的黑名单(例如mailinator.com)SMTP mailb mailck-用于电子邮件验证的SMTP邮件验证golang库允许...
NaxEmail邮件地址验证软件 是一款邮件营销必备的辅助工具,具体功能是批量验证收信邮箱是否真实有效,批量清除那些无效的、不存在的、格式不正确的邮箱地址。NaxEmail邮件地址验证
不过现在只是我们利用的就是第一条中说的,从客户机传输到服务器,当我们向一台服务器发送邮件时,邮件服务器会首先验证邮件发送地址是否真的存在于本服务器上。 操作的步骤如下: 连接服务器的25端口(如果没有邮件...
我还看到有必要能够验证电子邮件地址不是来自“一次性电子邮件”提供商。准备好生产了吗? 是的,它已在多个生产应用程序中使用。安装将此行添加到您的应用程序的Gemfile中: gem "valid_email2" 然后执行: $ ...
一个php中Socket发送邮件验证邮箱的类,Socket发送邮件验证邮箱的真实有效性而非格式。
通过SMTP进行电子邮件验证查找:对传递的电子邮件MX验证执行电子邮件验证:检查DNS MX记录中给定域名的其他验证:包括免费电子邮件提供商检查,角色帐户验证,一次性电子邮件地址(DEA)验证电子邮件可达性:检查对...
确保电子邮件地址有效并且存在。 实际和可维护的文档 :books: 因为开发商住。 目录 概要 电子邮件验证是一件棘手的事情。 验证电子邮件地址的方法有多种,并且所有机制都必须符合最佳做法并提供适当的验证。 ...
验证邮件 verify-email可以通过有效地检查域名并ping处理程序以验证其存在来验证任何电子邮件地址。 特征 语法检查 MX(邮件交换记录)验证 电子邮件处理程序验证 缓存域查找以提高性能 支持asyncio并发 有关...
对于少量的邮件地址,也许可以手工验证其合法性,例如发送测试email;但是,当邮件地址的数量达到数万甚至更多时,手工验证就不可能了,必须用专门的工具或自己编写程序自动执行验证。 常规的验证方法只从email地址...