Java Mailx-openshift中的汉字问题

问题描述 投票:0回答:1

我的用例是在邮件中发送包含中文字符的文件。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 boot app

部署到openshift后遇到问题。邮件附件显示为

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

赞赏任何建议。谢谢。

我的用例是在邮件中发送包含中文字符的文件。像TW_TEST_1062054_COM_20191020_前端离岸风电设备制造股份有限公司_N_20201117的内容通过阅读一些帖子,我意识到了一些属性...

java spring-boot openshift javamail
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.