附加超过60个字符的长文件名的Java邮件问题

问题描述

我的应用程序发送带有附件的邮件。如果附件的文件名超过60个字符,则会出现问题。因为在这种情况下,当收件人在Outlook中看到邮件时,文件名会自动修剪为60个字符。当我在Java代码中打印标题时,我可以看到文件名(1234567890123456789012345678901234567890123456789012345678901234567890.txt)已拆分为多个参数,切片为第60个字符。

Content-Type: text/plain; charset=us-ascii; ^M
        name*0=123456789012345678901234567890123456789012345678901234567890; ^M
        name*1=1234567890.txt^M
Content-Transfer-Encoding: 7bit^M
Content-Disposition: attachment; ^M
        filename*0=123456789012345678901234567890123456789012345678901234567890; ^M
        filename*1=1234567890.txt^M

以某种方式Outlook仅选择文件名* 0

我碰到一则帖子(https://docs.oracle.com/javaee/6/api/javax/mail/internet/package-summary.html),该帖子称将此属性设置为false mail.mime.foldtext会有所帮助,但无济于事。 任何对此的指点都会有很大帮助

我的Java代码段

MimeAttachment attachment = attachments[i];
MimeBodyPart bodyPart = new MimeBodyPart();
bodyPart.setDataHandler(new DataHandler(new MimeAttachmentDataSource(attachment)));
bodyPart.setFileName(attachment.getFilename());
bodyPart.setDisposition(MimeBodyPart.ATTACHMENT);

非常感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...