gpt4 book ai didi

java - 由于某些电子邮件,InternetAddress Parse 在 Mime header 上失败

转载 作者:行者123 更新时间:2023-11-30 07:52:34 29 4
gpt4 key购买 nike

InternetAddress.parse(String addressList, boolean strict) java-gmail-imap 的功能部分用于解析由 , 分隔的电子邮件列表形式 host@domainPersonal Name <host@domain>符合RFC822标准。

这通常用于解析电子邮件的 MIME header (这存在于 gmail api 返回的 MessagePartHeader 对象中的 Message 中)。

问题:parse方法抛出 AddressException当它遇到无法解析的电子邮件地址时。这样做的问题是它无法解析整个地址列表,因为可能有一个错误/格式错误/非 ascii 电子邮件地址。是否有将 mime header (例如 to、bcc、cc)拆分为单独的电子邮件地址并单独解析它们的好方法? (这不像在 , 上拆分那么简单,因为名称可能包含 , )。这样我就可以本地化错误的电子邮件地址。

此外,是否有更好的 java mime 解析器可以解析电子邮件地址中包含非 ascii 字符的电子邮件(RFC6530、RFC6531 和 RFC6532)?这样我就可以更好地解析这个不符合 RFC822 的本地化错误电子邮件地址。

最佳答案

最新版本的 JavaMail 1.6.0 引入了一个新的 session 属性,允许使用 UTF-8 邮件地址。只需在 session 属性中将 mail.mime.allowutf8 设置为 true

Properties props = new Properties();
props.put("mail.mime.allowutf8", true);
Session.getInstance(props)

参见 changelog

关于java - 由于某些电子邮件,InternetAddress Parse 在 Mime header 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45701371/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com