提问人:Filou 提问时间:4/24/2023 最后编辑:Filou 更新时间:6/5/2023 访问量:165
Outlook:JavaMail 生成的 EML 文件中的附件存在问题
Outlook: problem with attachment in EML file generated by JavaMail
问:
我在使用 Outlook 打开电子邮件时遇到问题。
我正在使用 JavaMail/JakartaMail API(版本 1.6.x)以 rfc-email-format 创建电子邮件,结尾为 .有时我有附件名称很长的附件。JavaMail 符合第 3 节:参数值延续RFC2231并在 60 个字符后拆分长文件名(据我所知)。*.eml
因此,一个简短的附件名称如下所示:
Content-Disposition: attachment;
filename=short-filename.txt
长文件名如下所示:
Content-Disposition: attachment;
filename*0=this-is-a-filename-with-more-than-60-characters-which-is-ult;
filename*1=imately-the-source-of-this-question.txt
现在,如果我在Outlook中打开此文件,第一个文件名将按原样显示,但对于第二个附件,名称类似于未知附件00004.txt。*.eml
如果我在Mozilla Thunderbird中打开电子邮件,一切都像一个魅力。
所以我想知道这是否是Outlook中未实现RFC2231参数值延续的错误?
或者,也许这只是 JavaMail 实现中的一个错误,而 Thunderbird 非常强大,因为它不关心 JavaMail 中的这个潜在错误?
最重要的是,有没有更好的解决方案可以自己实现电子邮件生成和所有受影响的 RFC,以使其在 Oultook 中工作?
答:
0赞
Filou
6/5/2023
#1
我在一个较旧的 SO 问题中找到了答案:似乎 JavaMail 的 MimeBodyPart.setFileName 在电子邮件中插入了换行符并导致文件名显示为无效。
设置为非常适合我。mail.mime.splitlongparameters
false
评论
filename=