如何使用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>