问题描述
我的应用程序发送带有附件的邮件。如果附件的文件名超过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 (将#修改为@)