MimeMessageHelper西里尔字母附件

时间:2017-11-26 19:50:05

标签: java email

美好的一天!找不到我的问题的答案,所以我需要一个帮助。我正在使用MimeMessage发送带有西里尔字母的pdf附件的电子邮件。在thunderbird邮件客户端,我看到附件的名称应该是(没有任何问题),但在outlook附件的名称看起来像= UTF-8?4FG54 ...附件是pdf文件,无法理解为什么会发生,因为我看到邮件的正文和主题上的西里尔文主题正确。

MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");
messageHelper.setFrom("myMail@mail.com");
messageHelper.setTo("target@mail.com");
messageHelper.setSubject("Заголовок");
messageHelper.setText("Письмо");
messageHelper.addAttachment("Файл.pdf", new ByteArrayResource(data));
javaMailSender.send(message);  

消息是MimeMessage类型

2 个答案:

答案 0 :(得分:0)

尝试一下:

messageHelper.addAttachment(MimeUtility.encodeText("Файл.pdf", "CP1251", "B"), new ByteArrayResource(attach)); 

对我有帮助

或此https://stackoverflow.com/a/49596504/8425969

答案 1 :(得分:0)

试试这个

mimeMessageHelper.setEncodeFilenames(false);