电子邮件地址中的方括号字符

时间:2012-09-27 10:12:38

标签: java special-characters javamail email-address square-bracket

当我们收到包含包含方括号的收件人MimeMessage的{​​{1}}时,当我们致电InternetAddresses时,我们会收到“javax.mail.internet.AddressException: Local address contains illegal character in string”。

以下电子邮件地址是我们获得上述例外的一个示例:

MimeMessage.getAllRecipients()

以上示例是否为实际有效的电子邮件地址?如果是,为什么不能从它创建InternetAddress?

e.g。 InternetAddress add = new InternetAddress("ABC NAME-DEM-SAST1" <ABCNAME-DEM-SAST1[001-SAST1@domain.com]>,false);

我查看Javamail problem with ñ characters in mail addresses问题的答案,但无济于事。

我使用的是javamail 1.4,而JVM正在Linux主机系统上运行。

非常感谢对这个问题的任何见解!

此致 PM。

1 个答案:

答案 0 :(得分:1)

This explanation表示“[”和“]”是电子邮件地址中的无效字符,除非用于绑定域文字(例如[192.1.0.0])。 如果示例地址应显示名称和相应的地址,则正确的语法为

"ABC NAME-DEM-SAST1" <001-SAST1@domain.com>

Microsoft Office使用方括号来标记一次性地址(http://msdn.microsoft.com/en-us/library/cc842281.aspx),但这似乎是非标准化的,并且与给定的示例不匹配。

The email address RFC