【发布时间】:2017-05-14 07:23:55
【问题描述】:
我正在尝试使用 VBA 创建带有嵌入图形的 html 电子邮件。我的研究表明我需要将我的内容类型设置为 multipart/related,将图形添加为消息的一部分,为每个图形指定一个内容标识符 (CID),然后将每个图形的 html img 标签 src 属性设置为 cid:theIdentifierString
谁有一些关于如何通过 VBA 为 Outlook 编写脚本的好资源?
【问题讨论】:
我正在尝试使用 VBA 创建带有嵌入图形的 html 电子邮件。我的研究表明我需要将我的内容类型设置为 multipart/related,将图形添加为消息的一部分,为每个图形指定一个内容标识符 (CID),然后将每个图形的 html img 标签 src 属性设置为 cid:theIdentifierString
谁有一些关于如何通过 VBA 为 Outlook 编写脚本的好资源?
【问题讨论】:
您不能直接在 Outlook 中创建 MIME 邮件 - 这不是它的原生格式。例如,当它需要通过 SMTP 服务器发送时,它将在其 onw 上创建 MIME 消息。
话虽如此,创建一个附件并使用 Attachment.PropertyAccessor 设置 PR_ATTACH_CONTENT_ID 属性(DASL 名称“http://schemas.microsoft.com/mapi/proptag/0x3712001F”)。
然后,您的 HTML 正文(MailItem.HTMLBody 属性)将需要通过 cid 引用该图像附件:
img src="cid:xyz"
其中 xyz 是 PR_ATTACH_CONTENT_ID 属性的值。
使用OutlookSpy 查看现有消息(单击 IMessage 按钮)。
attachment = mailitem.Attachments.Add("c:\temp\MyPicture.jpg")
attachment.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "MyId1")
mailitem.HTMLBody = "<html><body>Test image <img src=""cid:MyId1""></body></html>"
【讨论】: