0

当我们收到一个包含方括号的MimeMessage收件人时,我们会在调用时得到 ' ' 。InternetAddressesjavax.mail.internet.AddressException: Local address contains illegal character in stringMimeMessage.getAllRecipients()

下面的电子邮件地址是我们得到上述异常的一个例子:

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

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

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

我查看了邮件地址问题中带有 ñ 字符的 Javamail 问题以寻求答案,但无济于事。

我正在使用 javamail 1.4 并且 JVM 在 Linux 主机系统上运行。

对此问题的任何见解将不胜感激!

问候,下午。

4

1 回答 1

1

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

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

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

电子邮件地址 RFC

于 2012-09-27T10:52:31.163 回答