我会假设下面会抛出,但它没有。
new javax.mail.internet.InternetAddress( "a@b......." ).validate
我的javax.mail版本是1.4。 (如果重要,则为java版本8)。这是一个有效的电子邮件地址,根据RFC822,validate()声称符合? http://sphinx.mythic-beasts.com/~pdw/cgi-bin/emailvalidate表示上述内容不是有效的RFC822电子邮件地址。
答案 0 :(得分:1)
当前实现检查许多(但不是全部)语法规则。
如果可以,请升级您的JavaMail版本。
public static void main(String[] args) throws Exception {
Session.getInstance(new Properties()).setDebug(true);
new javax.mail.internet.InternetAddress("a@b......." ).validate();
}
输出:
DEBUG: setDebug: JavaMail version 1.5.4
Exception in thread "main" javax.mail.internet.AddressException: Domain contains dot-dot in string ``a@b.......''
at javax.mail.internet.InternetAddress.checkAddress(InternetAddress.java:1282)
at javax.mail.internet.InternetAddress.parse(InternetAddress.java:1099)
at javax.mail.internet.InternetAddress.parse(InternetAddress.java:638)
at javax.mail.internet.InternetAddress.<init>(InternetAddress.java:111)