如图,简单使用JavaMailSender发送邮件附件,今天发现163邮箱接收后excel文件附件变成了.bin文件
try {
if (StringUtil.isEmpty(mailAddr)) {
log.warn("未检测到发送地址,不发送");
return false;
}
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true, "utf-8");
mimeMessageHelper.setFrom(from);
mimeMessageHelper.setTo(mailAddr.split(","));
mimeMessageHelper.setSubject(title);
mimeMessageHelper.setText(mailContentText);
mimeMessageHelper.addAttachment(file.getName(), file);
mailSender.send(mimeMessage);
} catch (Exception e) {
log.error("文件【{}】邮件报送失败:{}",title, e);
return false;
}
阿里邮箱和QQ邮箱都没问题,初步判断是网易邮箱协议问题,附件名字太长导致。
在项目启动初始化一句代码即可
{
System.getProperties().setProperty("mail.mime.splitlongparameters", "false");
}