如何使用Java Mail API验证电子邮件地址?
此代码段显示了如何使用javax.mail.internet.InternetAddress该类来验证电子邮件地址。当传递给构造函数的电子邮件地址不是有效的电子邮件地址时,该validate()方法将引发javax.mail.internet.AddressException。
这是完整的代码片段:
package org.nhooo.example.mail; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; public class ValidateEmail { public static void main(String[] args) { ValidateEmail demo = new ValidateEmail(); String email = "nhooo@gmail.com"; boolean isValid = demo.validateEmail(email); demo.printStatus(email, isValid); email = "nhooo.gmail"; isValid = demo.validateEmail(email); demo.printStatus(email, isValid); } private boolean validateEmail(String email) { boolean isValid = false; try { //创建InternetAddress对象并验证提供的内容 //这种情况下的地址是电子邮件地址。 InternetAddress internetAddress = new InternetAddress(email); internetAddress.validate(); isValid = true; } catch (AddressException e) { e.printStackTrace(); } return isValid; } private void printStatus(String email, boolean valid) { System.out.println(email + " is " + (valid ? "a" : "not a") + " valid email address"); } }
运行该程序时,您将在屏幕上看到以下消息。为简单起见,我删除了完整的错误堆栈跟踪。
nhooo@gmail.com is a valid email address nhooo.gmail is not a valid email address
Maven依赖
<!-- http://repo1.maven.org/maven2/javax/mail/javax.mail-api/1.5.6/javax.mail-api-1.5.6.jar --> <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <version>1.5.6</version> </dependency>