为什么d @ d或类似的东西有效?网际地址

时间:2013-06-07 05:27:16

标签: java validation email

我有一个标准方法,如:

public static boolean isValidEmailAddress(String email) {
    boolean result = true;
    try {
        InternetAddress emailAddr = new InternetAddress(email);
        emailAddr.validate();
    } catch (AddressException ex) {
        result = false;
    }
    return result;
}

为什么不用像h @ h,///// @ h, * * @ d ??

这样的数组捕获和异常

3 个答案:

答案 0 :(得分:1)

它们是有效的,因为您可以使用没有点的域名。您可以通过hosts文件自行设置它们。 localhost就是一个例子。

如果没有进一步指定的方案,@可以指明电子邮件地址或带有用户名(和可选密码)的网址。

电子邮件:me@localhost应该有效

url:me:mypass@localhost也应该有效

答案 1 :(得分:0)

请参阅RFC

  

从积极的角度来说,这意味着原子的有效成分   如下:

     

!“#$%&'* + - / 0123456789 =?@ ABCDEFGHIJKLMNOPQRSTUVWXYZ ^ _   `ABCDEFGHIJKLMNOPQRSTUVWXYZ {|}〜

答案 2 :(得分:0)

电子邮件地址格式同时非常灵活和复杂,而且管理起来一直是个烂摊子。

如文档中所指定,InternetAddress遵循RFC-822的规范。 你可以看看,并了解我的意思:)