当我们收到包含收件人InternetAddresses
方括号的MimeMessage
时,当我们调用MimeMessage.getAllRecipients()
时,我们会得到'javax.mail.internet.AddressException: Local address contains illegal character in string
'。
下面的电子邮件地址是我们得到上述异常的一个例子:
"ABC NAME-DEM-SAST1" <ABCNAME-DEM-SAST1[001-SAST1@domain.com]>
上述示例地址是否为实际有效的电子邮件地址?如果是,为什么不能从中创建InternetAddress?
例如,互联网地址添加 = 新的互联网地址( ""ABC NAME-DEM-SAST1" <ABCNAME-DEM-SAST1[001-SAST1@domain.com]>"
, 假);
我看了一下 Javamail 问题,邮件地址中的字符问题以获得答案,但无济于事。
我正在使用javamail 1.4,JVM在Linux主机系统上运行。
对这个问题的任何见解将不胜感激!
问候下午。
此解释表明"["和"]"是电子邮件地址中的无效字符,除非用于绑定域文本(例如 [192.1.0.0])。如果示例地址应显示名称和相应的地址,则正确的语法为
"ABC NAME-DEM-SAST1" <001-SAST1@domain.com>
Microsoft局使用方括号来标记一次性地址(http://msdn.microsoft.com/en-us/library/cc842281.aspx),但这似乎是非标准化的,也与给定的示例不匹配。
电子邮件地址 RFC。