MS Outlook 2013+ vbscript自动创建包含内嵌图像附件的邮件

时间:2016-01-28 14:44:17

标签: html vbscript outlook automation

我正在尝试使用VB脚本自动为Outlook创建html电子邮件。

过程是:

  • 使用outlook API创建消息。
  • 将邮件保存到文件中。
  • 打开带有保存邮件路径的Outlook作为命令行参数

html正文在顶部引用了附加的图像。 像这样:

<img style='border:none' id="_x0000_i1025" src='cid:myident'>

我可以使用以下代码将图像文件附加到邮件中:

set oItem = outlook.CreateItem(0)
...
set Attach = oItem.Attachments.Add("path\to\img\email_topjs.jpg")

现在我必须以某种方式将此附件链接到cid:myident

我猜我必须以某种方式在附件上使用propertyAccessor。但到目前为止,我无法找到相关文档。 (上面的链接处理消息属性,而不是附件属性)

我还阅读了一个似乎使用Exchange Web Services做我想做的事情的页面,但我不认为这些方法在Outlook中可用。

任何线索都非常感激。

还有另一种方法可以在Outlook中创建电子邮件吗?像创建纯文本文件一样,将其发送到SMTP服务器并让Outlook打开它?

我继承了这个脚本,它目前使用了Redemption插件,但最近的Outlook更新似乎已经过时了。我想获得一个不需要这个插件/ DLL的本机解决方案。

1 个答案:

答案 0 :(得分:2)

您需要将PR_ATTACH_CONTENT_ID属性设置为匹配值:

Attach.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "myident")

使用OutlookSpy查看邮件及其附件(点击IMessage按钮)。