Клиент Lotus Notes: встроенные изображения MIME дублируются как вложения - PullRequest
0 голосов
/ 15 ноября 2018

Я создаю сообщение MIME на сервере Domino, но получаю нестабильные результаты в зависимости от сервера элементов.

Подробности: я создаю заметку со встроенными изображениями, исходные файлы хранятся в файловой системе сервера.Изображения, вставленные в заметку, выглядят следующим образом:

'container is a parent mime entity, where images will be stored

    For i = 0 To Ubound(images)
        If Dir$(images(i).FileName) = "" Then Error 15001, ERR_FILE_NOT_FOUND

        Set stream = session.CreateStream
        stream.Open images(i).FileName, "binary"
        Set child = container.CreateChildEntity
        child.SetContentFromBytes stream, images(i).ContentType, ENC_NONE
        child.EncodeContent ENC_BASE64

        fileName = "i" + CStr(i) + "." + ExtractFileExtension(images(i).FileName)

        Set header = child.GetNthHeader("Content-ID", 1)
        If header Is Nothing Then Set header = child.CreateHeader("Content-ID")
        header.SetHeaderVal "<" + fileName + ">"

        Set header = child.GetNthHeader("Content-Type", 1)
        If header Is Nothing Then Set header = child.CreateHeader("Content-Type")
        header.SetHeaderValAndParams images(i).ContentType + {; name="} + fileName + {"}

        Set header = child.CreateHeader("Content-Disposition")
        header.SetHeaderValAndParams {inline; filename="} + fileName + {"}

        stream.Close
    Next

Вот заголовок результата:

Headers: "Content-Transfer-Encoding: binary
Content-Type: image/jpeg;
     name="i0.jpg"
Content-Disposition: inline;
     filename="i0.jpg"
Content-ID: <i0.jpg>

"
Body: "i0.jpg"

Он работает в любом почтовом клиенте, кроме Lotus.В зависимости от сервера, на котором была создана памятка, Lotus может показывать встроенное изображение и вложение или только встроенное изображение (см. Прикрепленные изображения).

Отображается ОК

rendered OK

Плохая визуализация

poor rendering

Код Ls точно такой же, записки точно такие же (хорошо, кромеимена серверов, unid, значения времени), но заметки отображаются по-разному, заголовок Content-Disposition игнорируется.

После тщательного изучения я обнаружил одну небольшую разницу в полях $ FILE для прикрепления mime, см. рис:

see pic

Когда свойство "host" имеет значение "2304", тогда рендеринг нормальный, когда он установлен в "MSDOS / OS2", тогда встроенное изображение дублируется как вложение.

Итак, вопросКак я могу установить это поле вложения параметр HOST?Или есть ли способ заставить клиента LN соответствовать заголовку Content-Disposition?

...