Java InternetAddress允许在localpart中使用方括号-bug?

Java InternetAddress允许在localpart中使用方括号-bug?,java,jakarta-mail,special-characters,Java,Jakarta Mail,Special Characters,就我的研究而言,字符串[docxa]l。hri@txwt.org不是语法上有效的电子邮件地址,因为方括号不在带引号的字符串中 但是,类javax.mail.internet.InternetAddress接受此地址作为有效地址,因为它只是将[docxa]部分从构造函数调用的.parse(..)方法中的地址中剥离出来 InternetAddress.parse(字符串、布尔值、布尔值)中的代码注释表明,实现者不确定自己: case '[': // a domain-literal, p

就我的研究而言,字符串
[docxa]l。hri@txwt.org
不是语法上有效的电子邮件地址,因为方括号不在带引号的字符串中

但是,类
javax.mail.internet.InternetAddress
接受此地址作为有效地址,因为它只是将
[docxa]
部分从构造函数调用的
.parse(..)
方法中的地址中剥离出来

InternetAddress.parse(字符串、布尔值、布尔值)中的代码注释表明,实现者不确定自己:

    case '[':   // a domain-literal, probably
这是我为验证问题而创建的测试,它失败了:

@Test
public void givenUnquotedEmailAddressWithSquareBracketsInLocalPartThenValidationShouldFail() {
    try {
        new InternetAddress("[docxa]l.hri@txwt.org", true).validate();
        fail("address should be invalid");
    } catch (AddressException e) {
        // expected
    }
}


那么,这是
InternetAddress中的一个bug,还是我的研究或我对它的理解不完整?

是的,InternetAddress去掉了前面的“[docxa]”这个bug