我想在邮件正文中发送带有图片的邮件。在我的第一次尝试中,图片看起来像一个附件:它是可见的,但最后。我需要将图片放在电子邮件正文的中心。
我使用的教程是link。
我的代码如下所示:
mail.Body = "string htmlBody = \"<html><body><h1><center><img src=\"C:\\picture.png\"/></h1></html>";
string contentID = "image1";
Attachment inline = new Attachment("C:\\picture.png");
inline.ContentDisposition.Inline = true;
inline.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
inline.ContentId = contentID;
inline.ContentType.MediaType = "image/png";
inline.ContentType.Name = "C:\\picture.png";
mail.Attachments.Add(inline);
mail.IsBodyHtml = true;
答案 0 :(得分:1)
如果您真的关注过本教程,那么您已经看过这段代码:
email.Body = "[...]<img src=\"@@IMAGE@@\" alt=\"\">";
// generate the contentID string using the datetime
string contentID = Path.GetFileName(attachmentPath).Replace(".", "");
Attachment inline
[...]
inline.ContentId = contentID;
[...]
email.Attachments.Add(inline);
// replace the tag with the correct content ID
email.Body = email.Body.Replace("@@IMAGE@@", "cid:" + contentID);
当然使用<img src="C:\picture.png">
是行不通的,因为接收邮件的用户很可能不会在他们的PC上的那条路径中拥有该图像,更不用说当他们使用网络邮件时。