我正在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可以显示嵌入式图像和附件,或仅显示嵌入式图像(请参阅附件)。
呈现为确定
渲染效果差
Ls代码完全相同,备忘录完全相同(好的,除了服务器名称,unid,时间值),但是备忘录显示方式不同,Content-Disposition标头被忽略。
经过广泛调查,我发现$ FILE字段中的mime附件存在一个小的差异,参见图片:
当“主机”属性为“ 2304”时,渲染正常;如果将其设置为“ MSDOS / OS2”,则将内联图像复制为附件。
所以,问题是如何设置此附件字段的HOST参数?还是有什么方法可以使LN客户端符合Content-Disposition标头?