什么是最好的Java电子邮件地址验证方法?

Java有哪些好的电子邮件地址验证库? 是否有任何替代常见的验证器?


Apache Commons通常被称为一个坚实的项目。 请记住,如果你想确保它是一封真正的电子邮件,并且所有者希望在你的网站上使用它,你仍然需要向该地址发送一封验证邮件。

编辑 :有一个错误,它在域名上的限制太多,导致它不接受来自新顶级域名的有效电子邮件。

这个bug在03 / Jan / 15 02:48在commons-validator 1.4.1版中解决


使用官方的Java电子邮件包是最简单的:

public static boolean isValidEmailAddress(String email) {
   boolean result = true;
   try {
      InternetAddress emailAddr = new InternetAddress(email);
      emailAddr.validate();
   } catch (AddressException ex) {
      result = false;
   }
   return result;
}

Apache Commons验证器可以像其他答案中提到的那样使用。

pom.xml中:

<dependency>
    <groupId>commons-validator</groupId>
    <artifactId>commons-validator</artifactId>
    <version>1.4.1</version>
</dependency>

的build.gradle:

compile 'commons-validator:commons-validator:1.4.1'

进口:

import org.apache.commons.validator.routines.EmailValidator;

代码:

String email = "myName@example.com";
boolean valid = EmailValidator.getInstance().isValid(email);

并允许本地地址

boolean allowLocal = true;
boolean valid = EmailValidator.getInstance(allowLocal).isValid(email);
链接地址: http://www.djcxy.com/p/7281.html

上一篇: What is the best Java email address validation method?

下一篇: What is the maximum possible length of a query string?