我已经开发了用于从统计数据生成Outlook电子邮件的代码。出现了一个问题,即需要在PC中存储图像,因为要替换HTML Outlook正文中的图像以完成报告,就需要存储图像。 前景部分通过 导入EAGetMail 导入EASendMail 导入Microsoft.Office.Interop.Outlook 尝试了不同提图像,也尝试了输入流。在 暗淡附加= OutlookMessage.Attachments.Add属性仅接受路径,而不接受图像。
Dim captcha2 As Bitmap
If System.IO.File.Exists("C:\output\Sa7e839.jpg") Then
System.IO.File.Delete("C:\output\Sa7e839.jpg")
End If
captcha2.Save("C:\output\Sa7e839.jpg")
Dim attach = OutlookMessage.Attachments.Add("C:\output\Sa7e839.jpg") ' temp saved file. deletes on rerun of app
attach.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "backlog") ' setting property
oMail.HtmlBody = oMail.HtmlBody.Replace("cid:image003.png@01D2B201.94F4FA80", "cid:backlog") ' replacing HTML
预期结果:无需保存图像,然后将其附加为图像应直接从代码移动到Outlook正文邮件的路径。
答案 0 :(得分:0)
您不能将图像直接嵌入到HTML正文中-Outlook(使用Word呈现HTML消息)不支持嵌入到HTML正文中的base64编码图像-必须将它们作为附件添加并由内容ID引用。
并且OOM中的附件只能从文件系统添加。如果要绕过文件系统创建附件,则需要使用Extended MAPI(C ++或Delphi)或Redemption(任何语言)。