C#winforms:发送包含图像背景的电子邮件时出现问题

时间:2010-04-20 00:25:15

标签: c# winforms email-integration

我正在试图弄清楚如何解决问题:

我像这样创建MailMessage对象并发送它:

        MailMessage mail = new MailMessage();

        mail.From = new MailAddress("me@mycompany.com");
        mail.To.Add("login@gmail.com");

        mail.Subject = "This is an email";
        AlternateView plainView = AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", null, MediaTypeNames.Text.Plain);


  (1)   AlternateView htmlView = AlternateView.CreateAlternateViewFromString("Here is an embedded image.<img src=cid:companylogo>", null, "text/html");

        LinkedResource logo = new LinkedResource("c:\\cop1.jpg");
        logo.ContentId = "companylogo";

        htmlView.LinkedResources.Add(logo);

        mail.AlternateViews.Add(plainView);
        mail.AlternateViews.Add(htmlView);

一切正常,邮件在后台有图像。 但问题是,当我将段落(1)从(click)更改为(click)时,一切都失败了,图像无法识别并被作为附件进行威胁!

我认为这是由第一个冒号引起的 background-image:cid:companylogo

有可能解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

将其更改为background-image:url("cid:companylogo")

答案 1 :(得分:1)

您没有说明您正在查看的邮件客户端。并非所有邮件客户端都支持STYLE或CSS嵌入式图像。

以下是有关邮件客户端中CSS支持的链接: http://www.campaignmonitor.com/css/