【发布时间】:2023-04-10 15:08:01
【问题描述】:
我正在使用考虑到 RFC 2821 的 java 进行电子邮件验证。 我使用以下代码验证了我所有的电子邮件地址:
InternetAddress emailAddr = new InternetAddress(email);
emailAddr.validate();
Java api 表示其符合 RFC-822。 RFC 2821 和 822 有很大区别吗?
在以下情况下,上述 api 也无法验证电子邮件:
-
var@yahoo- 验证返回 true,但它是无效的电子邮件 -
var(comment)@yahoo.com- 验证返回 false,但它是有效的电子邮件
你能告诉我任何解决方法来完成它吗?
【问题讨论】:
-
您确定
ar@yahoo应该无效吗?我会检查一个通用顶级域是否可以用作主机名。 -
文档说:“验证地址部分”所以我猜
@之后的所有内容都会被忽略。 -
在之前的问题中,Apache Commons 被建议为最佳工具 (stackoverflow.com/questions/624581/…),但我刚刚尝试过,它也无法接受 cmets。
标签: email-validation jakarta-mail rfc822 rfc2822