Lotus Notes客户端:内联mime图像被删除为附件

时间:2018-11-15 15:48:05

标签: lotus-domino mime lotusscript ibm-domino

我正在Domino服务器上创建mime消息,但是根据逐项列出的服务器会得到不稳定的结果。

详细信息: 我正在创建一个带有内联图像的备忘录,源图像存储在服务器文件系统中。插入到便笺中的图像如下:

'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

当“主机”属性为“ 2304”时,渲染正常;如果将其设置为“ MSDOS / OS2”,则将内联图像复制为附件。

所以,问题是如何设置此附件字段的HOST参数?还是有什么方法可以使LN客户端符合Content-Disposition标头?

0 个答案:

没有答案