C# 通过外部路径C发送带有图像的电子邮件#

C# 通过外部路径C发送带有图像的电子邮件#,c#,html,email,C#,Html,Email,这是一种情况。 我正在发送一封图像为html正文的电子邮件 <img src="http://www.google.com/images/srpr/logo11w.png" alt="click me" /> 收到电子邮件后,图像src更改为 <img src="https://bay179.mail.live.com/Handlers/ImageProxy.mvc?bicild=&amp;canary=ei12UmVJE9u9hgMk5TdV12Y1X%2b9V

这是一种情况。 我正在发送一封图像为html正文的电子邮件

<img src="http://www.google.com/images/srpr/logo11w.png" alt="click me" />

收到电子邮件后,图像src更改为

<img src="https://bay179.mail.live.com/Handlers/ImageProxy.mvc?bicild=&amp;canary=ei12UmVJE9u9hgMk5TdV12Y1X%2b9Vc365IL%2bmULwd%2bfk%3d0&amp;url=http%3a%2f%2fwww.google.com%2fimages%2fsrpr%2flogo11w.pngf" alt="click me">

因此不渲染图像。以下是用于发送电子邮件的代码

SmtpClient sc = new SmtpClient("smtp.live.com");
            sc.Port = 587;
            sc.UseDefaultCredentials = false;
            sc.Credentials = new NetworkCredential("someemail@hotmail.com", "password");
            sc.EnableSsl = true;
            MailMessage m = new MailMessage();
            m.From = new MailAddress("someemail@hotmail.com");
            m.Subject = "test subject";
            m.IsBodyHtml = true;
            m.Body = "<img src=\"http://www.google.com/images/srpr/logo11w.png\" alt=\"click me\" /><img src=\"https://campaign-uploads.s3.amazonaws.com/newsletter/2015/19Apr_wk17/EN/images/logo.jpg\" />";
            m.To.Add(new MailAddress("someemail@hotmail.com"));
            sc.Send(m);
SmtpClient sc=新的SmtpClient(“smtp.live.com”);
sc.端口=587;
sc.UseDefaultCredentials=false;
sc.凭据=新的网络凭据(“someemail@hotmail.com“,”密码“);
sc.enablesl=true;
MailMessage m=新的MailMessage();
m、 发件人=新的邮件地址(“someemail@hotmail.com");
m、 Subject=“测试对象”;
m、 IsBodyHtml=true;
m、 Body=“”;
m、 添加(新邮件地址(“someemail@hotmail.com"));
sc.Send(m);
第一个图像的url被更改,第二个图像的url保持不变。那么什么是科学呢?
我不想嵌入图像

一旦您发送了电子邮件,您就已经将控制权让给了接收系统。由于反病毒、网络钓鱼等扫描,大多数MTA将进行某种形式的重新格式化。许多人将修改img源以使用他们自己的代理。你没有办法阻止他们。您只需与他们一起工作。

您需要发布您的代码。在不知道您如何设置图像源的情况下,我们无法做很多事情。这是Microsoft/Live/Outlook.com代理图像作为一种安全预防措施,因此是关于该功能,而不是C#-IIRC HTTPS阻止这种“因此不渲染图像”-直到用户单击“显示图像”。由于嵌入的URL不正确,请单击“显示图像”当你说嵌入的URL不正确时,你是否希望它只是google.com的URL?或者您的意思是,例如,ImageProxy URL中URI编码的google.com URL上的尾随“f”?或者别的什么?我做了一个POC,在smtp.live.com上发送带有两个不同图像URL的电子邮件时发现了这一点。一个改变了,一个保持不变,所以我认为一定有一个机制,一个思想改变了。以下是两个URL,第二个URL被更改。[链接]()通常不是发送MTA,而是接收MTA。当你发送到谷歌,Hotmail等,你会得到不同的结果。