这是一种情况。 我发送的电子邮件图片为html body
<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=&canary=ei12UmVJE9u9hgMk5TdV12Y1X%2b9Vc365IL%2bmULwd%2bfk%3d0&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);
第一个图片网址被更改,第二个图片的网址保持不变。科学怎么样? 我不想嵌入图像。
答案 0 :(得分:1)
发送电子邮件后,您已将控制权交给接收系统。由于反病毒,网络钓鱼等扫描,大多数MTA都会进行某种重新格式化。许多人会重新编写img源代码来使用他们自己的代理。你没办法阻止它们。你只需要和他们一起工作。