Base 64编码图像在电子邮件ASP.NET中发送

时间:2013-09-17 10:49:41

标签: c# asp.net outlook mime-types

是否有任何工作/替代方式在电子邮件中发送图像。 我从image生成base64字符串并将src设置为它。 这成功地在浏览器上显示图像,但是对于我的恐怖基础64大多数电子邮件客户端都不支持Data URi方法。

// value below is MemoryStream object holding image
string ImgUrl = "data:image/jpeg;base64," + Convert.ToBase64String(value.ToArray(), 0,    
                 value.ToArray().Length);"

我在代码中付出了很多努力。请指导我怎么做。

2 个答案:

答案 0 :(得分:3)

将图像添加为邮件的附件,并将其设置为ContentId和ContentDisposition:

var attachment = new Attachment(path);
msg.Attachments.Add(attachment);
attachment.ContentId = "myimage";
attachment.ContentDisposition.Inline = true;

然后您可以参考HTML中的图片:

<img src="cid:myimage" />

答案 1 :(得分:2)

大多数电子邮件客户端不支持Base64编码的嵌入式图像。 另一种方法是使用LinkedResources并附加到邮件正文。