在Lotus Notes消息中插入内联图像
我之前用Lotus Notes和VBA、Python通过COM API发送邮件,方法是这样的:
我想问的是,怎么才能把一张图片直接插入到邮件正文里(而不是作为附件),而且是通过编程的方式实现(就像在编辑中选择“粘贴特殊”那样)?我在网上搜索了几次,但没有找到什么有效的解决办法。如果有用VBA或Python的解决方案,我会非常感激。
谢谢!
2 个回答
你可以使用DXLImporter这个类来实现这个功能,它可以通过VBA的COM接口来使用。DXL是一种特定于Notes的XML格式,你可以生成一个临时文件,然后把它导入到你的数据库里。这个博客里有示例代码,可能正好符合你的需求(这个代码可以导入富文本内容,包括内嵌图片,然后把这些富文本附加到邮件文档上)。
http://www.cubetoon.com/2008/notes-rich-text-manipulation-using-dxl/
你还可以考虑其他选项:
(1) 使用C或C++的API - 这会需要更多的努力,尤其是在处理富文本时,但基本上没有限制。(http://www.ibm.com/developerworks/lotus/library/capi-nd/index.html)
(2) 使用Genii的MIDAS工具包 (http://www.geniisoft.com) - 这个工具包扩展了Lotuscript的API,并且暴露了很多C API中的内容。
如果你不需要对Notes做什么特别的事情,比如使用特定的表单或者@函数之类的,那么你最好把消息构建成一个多部分的mime消息。
你需要设置会话,这样在你创建文档的时候,它就是mime格式的,然后你就可以根据需要设置你的消息,具体可以参考 NotesSession.ConvertMIME
。接下来,你会用到 NotesMIMEEntity
和 NotesMIMEHeader
这些对象来构建mime消息。
如果你对mime消息的构建方式不太熟悉,那可能会有点难,所以你可以先看看一些原始的mime消息,了解它们的样子。这样你就能搞清楚如何使用 NotesMIMEEntity
和 NotesMIMEHeader
这些类的接口来构建消息了。