【发布时间】:2015-08-22 19:23:44
【问题描述】:
我编写了下面的代码,将图像嵌入到从我的 c# 代码发送的邮件中。但是当我检查邮件时,我得到的图像像附件,而不是内联图像。 (Gmail)
AlternateView htmlBodyView = null;
string htmlBody = "<html><body><h1></h1><br><img src=\"cid:SampleImage\"></body></html>";
AlternateView plainTextView = AlternateView.CreateAlternateViewFromString(htmlBody, null, "text/html");
ImageConverter ic = new ImageConverter();
Byte[] ba = (Byte[])ic.ConvertTo(bitmap_obj, typeof(Byte[]));
using (MemoryStream logo = new MemoryStream(ba))
{
LinkedResource sampleImage = new LinkedResource(logo, "image/jpeg");
sampleImage.ContentId = "sampleImage";
htmlBodyView.LinkedResources.Add(sampleImage);
p.SendEmail(htmlBodyView);
}
【问题讨论】:
-
请在未来对代码进行格式化 - 检查预览以确保如果您试图回答问题,它会显示出您想要阅读的方式。
-
当然......我会在我未来的所有问题/答案中这样做......非常感谢
-
试图找到明确的来源,所以这可能不是问题,但看起来 ContentId 区分大小写并且您使用了
SampleImage/ `sampleImage'。 tools.ietf.org/html/rfc2045 "参数值通常区分大小写," -
对这个 SO 的回答可能会有所帮助:stackoverflow.com/a/4697643/2181514 名称格式应该像电子邮件地址一样 - 但有很多示例并非如此
标签: c# mailmessage