Java Mailx - проблема с китайскими иероглифами в openshift - PullRequest
1 голос
/ 17 января 2020

Мой вариант использования - отправить файл по почте, в котором есть китайские иероглифы. что-то вроде 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());

Просто повторюсь, на моем локальном компьютере все выглядит хорошо. У меня возникла проблема после развертывания в openshift как приложение для весенней загрузки . Почтовое вложение отображается как

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

Благодарим за любые предложения. Спасибо.

1 Ответ

2 голосов
/ 17 января 2020

Попробуйте установить системное свойство mail.mime.charset в значение "utf-8".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...