asp.net c#如何发送html格式的邮件

xiaohutu626 2009-07-01 10:27:11


string Email = "***@***.**";

string bodys = "亲爱的 *** 同学:<br>    您好!请再次登录到:<a href='http://www.ch7w.com' target='_blank'>http://www.ch7w.com</a>提交您的咨询报名信息或直接电话咨询.";


MailMessage mails = new MailMessage("******@gmail.com","" + Email + "");
mails.Subject = "来自《启文中国在职研究生网的报名成功通知》";
//mailObj.BodyFormat = MailFormat.Html;

//mails.Body = @"" + bodys + "";
mails.Body = string.Format(@"" + bodys + "");
mails.BodyEncoding = System.Text.Encoding.UTF8;
mails.IsBodyHtml = false;
//Attachment datas = new Attachment(file, MediaTypeNames.Application.Octet);
//上面的MEDIA为不指定媒体类型!就该就是上传什么都可以的意思吧!
//mails.Attachments.Add(datas);

SmtpClient client = new SmtpClient("smtp.gmail.com");
client.Port = 587;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("******@gmail.com", "******");
// client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Send(mails);
//Response.Write("邮件发送成功");


当我发送给163的邮箱的时候 163收到的邮件格式是正确的。当我发送给sohu 或gmai 的时候 他们受到的邮件内容显示的就是bodys里面的内容(亲爱的 *** 同学:<br>    您好!请再次登录到:<a href='http://www.ch7w.com' target='_blank'>http://www.ch7w.com</a>提交您的咨询报名信息或直接电话咨询) 请问怎么样设置可以使sohu 和gmail等所有的邮箱 收到的都是编译过的内容呢()? 我是新手谢谢大家的帮助!
...全文
1430 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jinglecat 2009-07-01
  • 打赏
  • 举报
回复
mails.IsBodyHtml = true; // false;
jimh 2009-07-01
  • 打赏
  • 举报
回复

//mails.IsBodyHtml = false;
mails.IsBodyHtml = true; //这里拉,设置为true;
xiaohutu626 2009-07-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yuanleijiwei 的回复:]
我也用过这个邮件发送的功能,但是好像没遇到过这种情况

只是有时候邮件接收会把那个邮件放入垃圾邮件后就没有格式显示了,但是从垃圾文件中转移出来又好了。

是不是你用的  mails.BodyEncoding = System.Text.Encoding.UTF8 的问题啊
因为sohu 好像用的是  gb2312。

我也只是猜测。
[/Quote]
貌似和这个是没有关系的,你的代码也是这样写的吗?
yuanleijiwei 2009-07-01
  • 打赏
  • 举报
回复
我也用过这个邮件发送的功能,但是好像没遇到过这种情况

只是有时候邮件接收会把那个邮件放入垃圾邮件后就没有格式显示了,但是从垃圾文件中转移出来又好了。

是不是你用的 mails.BodyEncoding = System.Text.Encoding.UTF8 的问题啊
因为sohu 好像用的是 gb2312。

我也只是猜测。
littleboy_6235573 2009-07-01
  • 打赏
  • 举报
回复
最好用JMAIL组件咯,
jmail.Message Jmail = new jmail.Message();
String Subject = "注册通知";
String body = "<style>body{font-size:14px;font-family:''}</style>";
String FromEmail = CompanyInfo.P_SystemEmail;
String ToEmail = u.P_Email;
//Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
Jmail.Silent = true;
//Jmail创建的日志,前提loging属性设置为true
Jmail.Logging = true;
//字符集,缺省为"US-ASCII"
Jmail.Charset = "UTF-8";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
//Jmail.ContentType = "Multipart/Mixed";
//添加收件人(若几个收件人就添加几行下面的代码)
Jmail.AddRecipient(ToEmail, "", "");
//Jmail.AddRecipientCC,Jmail.AddRecipientBCC (抄送,密送,用法同Jmail.AddRecipient)
Jmail.From = FromEmail;
Jmail.FromName = CompanyInfo.P_WebName;
//发件人邮件用户名
Jmail.MailServerUserName = CompanyInfo.P_Hope_mailuser;
//发件人邮件密码
Jmail.MailServerPassWord = CompanyInfo.P_Hope_mailpwd;
//设置邮件标题
Jmail.Subject = Subject;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。

//[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
//Jmail.AddAttachment("c:\\img200610311000250.jpg", true, null);
//邮件内容,(若为纯文本就改为Jmail.Body )
Jmail.HTMLBody = body;
//Jmail发送的方法
Jmail.Send(CompanyInfo.P_Smtpserver, false);
Jmail.Close();
xiaohutu626 2009-07-01
  • 打赏
  • 举报
回复
有人在吗 自己先顶一下
xiaohutu626 2009-07-01
  • 打赏
  • 举报
回复


谢谢!

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧