之前有个同事开发了一个基于JavaMail发送邮件的功能,在测试的时候好好的,但某天因为附件名称长度超长导致被截取的问题,在这里将解决办法记录一下。
引起这个问题的主要原因在于默认的情况下mail.mime.splitlongparameters:true
而且要关闭它(设置为false)就必须在new MimeMessage
、new MimeMultipart
或new MimeBodyPart
之前(一个比较靠前的位置,如果在new MimeMultipart之后添加,有可能无效),添加如下代码:
System.getProperties().setProperty("mail.mime.splitlongparameters", "false");
这样就能够解决这个字段长度超长的问题了