java internetaddress_java – InternetAddress允许localpart中的方括号 – bug?

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

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

InternetAddress.parse(String,boolean,boolean)中的代码注释表明,实现者不确定自己:

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中的一个错误,还是我的研究或我对它的理解不完整?

最佳答案 是的,InternetAddress剥离了领先的“[docxa]”是一个错误.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值