为什么通过链接资源发送的嵌入式图像也作为附件附加

时间:2012-08-30 13:45:55

标签: c# asp.net email

我使用C#发送电子邮件

这是我正在使用的一段代码:

LinkedResource Lnkr = new LinkedResource(LogoPath);
Lnkr.ContentType.Name = "Logo.jpg";

Lnkr.ContentId = "Image1";
AlternateView av1 = AlternateView.CreateAlternateViewFromString("<br/><img src='cid:Image1'/>", null, MediaTypeNames.Text.Html);
av1.LinkedResources.Add(Lnkr);
Emailmsg.AlternateViews.Add(av1);

请不要建议直接从某些服务器中选择图片路径,例如“http://ww.a.jpg”

问题是图像显示但也作为附件添加。 我不把图像添加为附件。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

图像必须存储在某个地方,因此它会附加到您的电子邮件中。我在img src中使用绝对路径,然后没有附加图像。

您可以将图像嵌入到基于64的字符串中,但我认为很多电子邮件客户端都不支持它。

http://en.wikipedia.org/wiki/Data_URI_scheme

答案 1 :(得分:0)

尝试在LinkedResource构造函数中添加图像mime类型:     LinkedResource Lnkr = new LinkedResource(LogoPath,“image / jpeg”);

使用Outlook时,它对我有用,但不适用于Gmail Webmail