美好的一天!找不到我的问题的答案,所以我需要一个帮助。我正在使用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类型
答案 0 :(得分:0)
尝试一下:
messageHelper.addAttachment(MimeUtility.encodeText("Файл.pdf", "CP1251", "B"), new ByteArrayResource(attach));
对我有帮助
答案 1 :(得分:0)
试试这个
mimeMessageHelper.setEncodeFilenames(false);