当我们收到包含包含方括号的收件人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。
答案 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),但这似乎是非标准化的,并且与给定的示例不匹配。