当我在asp.net页面中显示outlook html电子邮件正文时,Outlook电子邮件图片附件未显示

时间:2015-03-31 13:27:09

标签: c# html asp.net email outlook

我正在开发outlook应用程序(asp.net c#),实际上我将所有Outlook电子邮件数据导入SQL服务器数据库,并希望在.aspx页面中显示它。我能够将outlook电子邮件正文作为HTML获取并且它运行良好。但我在获取电子邮件中的图像时遇到问题。 (我可以保存附件但是,如何将它与outlook电子邮件绑定,与outlook中显示的相同)? 在outlook电子邮件正文(html)中有这种类型的img源代码,这里有什么是cid?和@@ 01CFE7F9.54FD40B0?任何人都可以帮助我

<img border=0 width=22 height=22 id="Picture_x0020_4" src="cid:image003.jpg@01CFE7F9.54FD40B0" alt="Description: tweet.png">

1 个答案:

答案 0 :(得分:0)

在这种情况下,Outlook将图像存储在附件中 - HTML正文将它们称为<img src="cid:xyz">,其中xyz是PR_ATTACH_CONTENT_ID附件属性的值(可通过使用Attachment.PorpertyAccessor.GetProperty访问 - PR_ATTACH_CONTENTID DASL属性名称为http://schemas.microsoft.com/mapi/proptag/0x3712001F)。

你可以

  1. 以MHTML格式保存邮件 - 它嵌入图片,IE可以显示MHTML文件。

  2. <img src="cid:xyz">标签替换为从附件中提取的图像数据(Attachment.SaveAsFile)并嵌入img标签内,例如: <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />。如果使用Redemption是一个选项,它可以使用RDOMail以该格式保存邮件.SaveAs(...,olHTMLEmbeddedImages)