通过电子邮件发送图像作为身体中的嵌入式图像时出现问题。图像文件显示为可以的附件,但内联图像部分仅显示为红色x。
这是我到目前为止的
LinkedResource inline = new LinkedResource(filePath);
inline.ContentId = Guid.NewGuid().ToString();
MailMessage mail = new MailMessage();
Attachment att = new Attachment(filePath);
att.ContentDisposition.Inline = true;
mail.From = from_email;
mail.To.Add(data.email);
mail.Subject = "Client: " + data.client_id + " Has Sent You A Screenshot";
mail.Body = String.Format(
"<h3>Client: " + data.client_id + " Has Sent You A Screenshot</h3>" +
@"<img src=""cid:{0}"" />", inline.ContentId);
mail.IsBodyHtml = true;
mail.Attachments.Add(att);
1
您实际上并没有将LinkedResource附加到邮件对象;相反,您正在创建它,但随后附加了一个单独的Attachment对象。
—
Adrian Wragg
这段代码的唯一问题是您的string.Format
—
SimonMᶜKenzie'16 -10-26
inline.ContentId
实际上是在引用att.ContentId
。inline
完全不需要。与所有答案相比,我更喜欢您的问题,因为您实际上不需要使用AlternateView
。
—
弗雷德里克
我的图像被附加为bin文件扩展名。难道我做错了什么?
—
米洛什Đošović
检查此链接。它已经准备好使用多个内联附件以及pdf / excel文件的常规附件的方法。stackoverflow.com/questions/33665280/…–
—
库玛·钱德拉