使用 RFC3696 的 EmailValidation(电子邮件地址)

Posted

技术标签:

【中文标题】使用 RFC3696 的 EmailValidation(电子邮件地址)【英文标题】:EmailValidation (email address) with RFC3696 【发布时间】:2015-01-30 15:34:09 【问题描述】:

我寻找一个接受 rfc3696 标准中的电子邮件地址的电子邮件验证器(接受电子邮件中的重音符号)。我尝试(org.apache.commons.validator.routines.EmailValidator)“commons-validator 1.4.0”,但这个验证器不接受重音符号。

我想要一个 java api 来根据标准 rfc3696 验证电子邮件地址。 前有效电子邮件地址:Loïc.Accentué@voilà.fr

提前致谢。

【问题讨论】:

您不是最好尝试将内容发送到提供的邮件吗?如果您收到错误,您将知道该电子邮件不正确。验证电子邮件真的很棘手。 @OlivierGrégoire 从 mta 获取错误更加棘手。 除了向提供的地址发送电子邮件并需要一些回复(点击链接、回复等)之外,您是否需要验证? 您根本不应该验证电子邮件。并且有很多原因。此链接显示一些:girders.org/blog/2013/01/31/dont-rfc-validate-email-addresses 【参考方案1】:

我认为验证电子邮件地址的最佳解决方案是使用 JavaMail 解析电子邮件。

public static boolean isValidEmailAddress(String emailAddress) 
   try 
       InternetAddress.parse(emailAddress, true);
       return true;
    catch (Exception e) 
    return false;
   


【讨论】:

以上是关于使用 RFC3696 的 EmailValidation(电子邮件地址)的主要内容,如果未能解决你的问题,请参考以下文章

bzoj3696

[拓扑排序] aw3696. 构造有向无环图(拓扑排序+memset使用坑点+aw周赛004_3)

bzoj3696

poj3696

BZOJ3696化合物 树形DP+暴力

POJ3696 The Luckiest Number