Java Mailx - openshift 中的汉字问题

Java Mailx - issue with Chinese characters in openshift

我的用例是在邮件中发送一个包含中文字符的文件。 类似TW_TEST_1062054_COM_20191020_前端离岸风电器设备制造股份有限公司_N_20201117

阅读一些帖子后,我意识到缺少一些属性并在我的本地机器上运行了它。 但是,我在 Openshift 中,这些属性没有任何作用。请看下面我的配置。

Properties properties = System.getProperties();
properties.put("mail.mime.splitlongparameters", "false");
properties.put("mail.mime.encodefilename", "true");
properties.put("mail.mime.encodeparameters", "false");
properties.put(SMTP_CONNECT_TMOUT.getName(), SMTP_CONNECT_TMOUT.getValue());
properties.put(SMTP_READ_TMOUT.getName(), SMTP_READ_TMOUT.getValue());
properties.put(SMTP_WRITE_TMOUT.getName(), SMTP_WRITE_TMOUT.getValue());
log.info("Create Mail Sender instance with: hostname: '{}', port: '{}'", hostname, port);
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setJavaMailProperties(properties);
mailSender.setHost(hostname);
mailSender.setPort(port);

发送带有附件的邮件如下

JavaMailSender mailSender = mailSenderRef.get();
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true,"UTF-8");
ExternalMimeMessageUtils.updateFrom(mail, helper);
DataSource dataSource = new ByteArrayDataSource(attachment, "application/pdf");
helper.addAttachment(MimeUtility.encodeWord(request.getFile()), dataSource);
mailSender.send(mimeMessage);
log.info("Email sent successfully");
mailBoxService.save(mailBoxItem.sentStatus());

重申一下,在我的本地机器上一切正常。我以 spring 启动应用程序 部署到 openshift 后遇到问题。 邮件附件显示为

=ANSI_X3.4-1968QTW=5F1062055=5F1062053=5FCOMFWD=5F= =ANSI_X3

感谢任何建议。谢谢

尝试将系统 属性 mail.mime.charset 设置为 "utf-8"。