Domino 10 иногда не декодирует заголовки MIME под Java - PullRequest
1 голос
/ 09 марта 2019

У меня есть программа Java 1.8, запущенная на сервере Domino 10.0.1, которая читает сообщения POP3 / IMAP MIME и создает из нее почтовый документ Notes MIME.

Все работает хорошо, за исключением некоторых (очень мало) сообщения не преобразуют закодированные заголовки MIME.Затем они отображаются в клиенте Notes в этом уродливом формате.

From: =?utf-8?Q?Test=20Subject?= <anyname@acme.com>

Я установил «UTF-8» во всех возможных местах и ​​отключил преобразование MIME в форматированный текст.

properties.setProperty("mail.mime.charset", "UTF-8");
...
boolean savedConversionFlag = dbGetSession().isConvertMime();
dbGetSession().setConvertMime(false);

Что может вызвать это?

1 Ответ

1 голос
/ 10 марта 2019

Я только что попробовал эксперимент.Я отправил электронное письмо с китайскими иероглифами в теме из моей учетной записи Gmail на мой почтовый ящик Notes.Domino сохранил тему как текст RFC822 , например:

Subject: =?UTF-8?B?5oiR6IO95ZCe5LiL546755KD6ICM5LiN5Lyk6Lqr5L2T44CC?=

Когда я просматриваю сообщение в Notes, оно правильно отображает китайские символы.

На основемой эксперимент и ваши комментарии, я думаю, вы храните закодированную строку в элементе обычный текст - не текст RFC822.Разница невелика, но вы можете убедиться в этом, посмотрев на свойства документа в Notes.Если вы храните значение в виде простого текстового элемента, Notes не знает, что его нужно декодировать.

Итак, я думаю, у вас есть два варианта сделать это в Notes:

  1. Сохраните элемент в виде обычного текста, как вы сейчас делаете, но сначала декодируйте строку.Я предполагаю, что JavaMail может помочь с этапом декодирования.

  2. Оставьте закодированное значение, но сохраните его как текстовый элемент RFC822.Это то, что делает маршрутизатор Domino.

Поскольку я не уверен на 100%, как делать # 2 с классами Java Notes, я, вероятно, начну с первого варианта.

...