-3

我想在电子邮件正文中发送带有图片的邮件。在我的第一次尝试中,图片看起来像一个附件:它是可见的,但在最后。我需要图片位于电子邮件正文的中心。

我使用的教程是链接

我的代码如下所示:

    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;
4

1 回答 1

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 上的那个路径中没有那个图像,更不用说当他们使用 webmail 时了。

于 2012-06-28T09:07:11.673 回答