通过外部路径C#发送电子邮件

时间:2015-04-17 12:31:38

标签: c# html email

这是一种情况。 我发送的电子邮件图片为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=&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);

第一个图片网址被更改,第二个图片的网址保持不变。科学怎么样? 我不想嵌入图像。

1 个答案:

答案 0 :(得分:1)

发送电子邮件后,您已将控制权交给接收系统。由于反病毒,网络钓鱼等扫描,大多数MTA都会进行某种重新格式化。许多人会重新编写img源代码来使用他们自己的代理。你没办法阻止它们。你只需要和他们一起工作。