问题:1.这个发送邮件的程序,发送一个html邮件,里面嵌入一张图片.经过测试发现在QQ邮箱里可以显示图片,但在msn,和126的邮箱里却无法显示,其他邮箱没有测试.
2.当把程序中邮件显示的文本改成中文时,在QQ邮箱里也无法显示图片了.
发送邮件的程序,从网上也找了很多.但试了好多方法也不行.
我把代码贴出来.请大家帮忙看看.
public static void sendMail(string Sfrom,string STo,string Subject,string SHost, string pwd,string mailbody)
{
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress(Sfrom);
mailMessage.To.Add(STo);
mailMessage.Subject = Subject;
// mailMessage.Body = mailbody;
mailMessage.IsBodyHtml = true; AlternateView plainView = AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", null, "text/plain"); AlternateView htmlView = AlternateView.CreateAlternateViewFromString("Here is an embedded image.<br><img src=cid:companylogo>", null, "text/html");
//上面用英文Here is an embedded image 发送邮件后QQ邮箱可以看到图片.但换成下面中文,QQ邮箱也看不到图片了.
// AlternateView htmlView = AlternateView.CreateAlternateViewFromString("你好.我进行测试"+"<br><img src=cid:companylogo>", null, "text/html");
LinkedResource MLinkSource= new LinkedResource("F:\\029fb4511c5e26828c543090.jpg");
MLinkSource.ContentId = "myimage";
htmlView.LinkedResources.Add(MLinkSource);
mailMessage.AlternateViews.Add(plainView);
mailMessage.AlternateViews.Add(htmlView); SmtpClient smtpclient = new SmtpClient();
smtpclient.EnableSsl = false;
smtpclient.Host = SHost;//smtp.163.com
smtpclient.Port = 25;
smtpclient.Credentials = new NetworkCredential("i-am-wlj", pwd); try
{
smtpclient.Send(mailMessage); }
catch(Exception ex)
{
throw ex;
}
2.当把程序中邮件显示的文本改成中文时,在QQ邮箱里也无法显示图片了.
发送邮件的程序,从网上也找了很多.但试了好多方法也不行.
我把代码贴出来.请大家帮忙看看.
public static void sendMail(string Sfrom,string STo,string Subject,string SHost, string pwd,string mailbody)
{
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress(Sfrom);
mailMessage.To.Add(STo);
mailMessage.Subject = Subject;
// mailMessage.Body = mailbody;
mailMessage.IsBodyHtml = true; AlternateView plainView = AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", null, "text/plain"); AlternateView htmlView = AlternateView.CreateAlternateViewFromString("Here is an embedded image.<br><img src=cid:companylogo>", null, "text/html");
//上面用英文Here is an embedded image 发送邮件后QQ邮箱可以看到图片.但换成下面中文,QQ邮箱也看不到图片了.
// AlternateView htmlView = AlternateView.CreateAlternateViewFromString("你好.我进行测试"+"<br><img src=cid:companylogo>", null, "text/html");
LinkedResource MLinkSource= new LinkedResource("F:\\029fb4511c5e26828c543090.jpg");
MLinkSource.ContentId = "myimage";
htmlView.LinkedResources.Add(MLinkSource);
mailMessage.AlternateViews.Add(plainView);
mailMessage.AlternateViews.Add(htmlView); SmtpClient smtpclient = new SmtpClient();
smtpclient.EnableSsl = false;
smtpclient.Host = SHost;//smtp.163.com
smtpclient.Port = 25;
smtpclient.Credentials = new NetworkCredential("i-am-wlj", pwd); try
{
smtpclient.Send(mailMessage); }
catch(Exception ex)
{
throw ex;
}
MLinkSource.ContentId = "myimage";
你上面都是写的companylogo这个,下面图片ID有是myimage,现得出来才怪,肯定两个要对应撒