将附件图片添加到办公室16 / O365的HTML电子邮件正文中

我一直在办公室2013使用这个代码:

With OutMail .Attachments.Add fName .HTMLBody = .HTMLBody & "<br><B>" & ChartName & :</B><br>" _ & "<img src='" & fName(i) & "' width='800' height='400'><br>" _ .Display End With 

其中fName是png文件的完整path,Chartname只是graphics的标题。

这一直工作正常,但现在在办公室2016 / O365这个代码粘贴一个空的HTML表格到outloop电子邮件,没有graphics或图片是可见的。 任何指针如何解决这个将不胜感激?

您的.HTMLBody行上有错误。 试试这个:

 .HTMLBody = .HTMLBody & "<br><B>" & ChartName & ":</B><br>" & "<img src='" & fName(i) & "' width='800' height='400'><br>" 

我添加了一个报价并删除了不需要的_

创build一个附件,并使用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查看现有消息(单击IMessagebutton)。

 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>"