如何使用嵌入的图像创建HTML电子邮件并使用.net(c#)在默认邮件客户端中显示它?
如果您查看Windows中的Snip工具,可以选择将剪辑作为嵌入式附件发送到默认邮件客户端(我猜是一个html电子邮件)。我需要的确如此。
目前我使用简单的MAPI附加图像,但不允许嵌入。
一个关键要求是应该创建它,然后在默认邮件客户端中显示。我不认为我可以使用System.Net.Mail。或者我可以吗?
它是一个使用c#的WPF应用程序。
编辑:请在回答之前仔细阅读问题。我并不陌生。我知道如何在非托管代码中执行此操作而不诉诸黑客。我需要一个托管等价物。我不是在寻找黑客,我很乐意在必要时花大量时间在正确的解决方案上。
没有找到相关结果
已邀请:
3 个回复
bab
痰降锭骂奸
我不确定路径周围的引号。 编辑 想到另一个应该有效的解决方案。 使用MailMessage创建HTML电子邮件 使用此处的答案将其保存为XXXX.eml 使用ShellExecute选项和
打开EML文件。 它应该在默认的电子邮件客户端中打开它。
邦绊门蔽惩
关键点在于,在您的HTML电子邮件正文中,您输入“cid:xxxxx”而不是使用常规网址路径,其中xxxxx是您的内容ID。有关Content ID的更多详细信息,请查看RFC2111。从我在System.Net.Mail命名空间中看到的内容,它允许您创建一个将IsBodyHtml属性设置为true的MailMessage。然后,您需要做的下一件事是将附件添加到此MailMessage。附件当然是您的嵌入式图像。然后,您需要记住设置附件的ContentID。因此,为了确保您的HTML电子邮件引用正确的ContentID,事情应该可行。 再一次,我没有自己验证,但我快速检查了一些带有嵌入式图像的电子邮件。我确实看到了带有cid:xxxx作为图像源的电子邮件,我的Outlook客户端可以真正打开它。