.net中发mail到hotmail中乱码问题的解决

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在.net 中我们经常会利用MailMessage 和SmtpMail 配合发信,只要smtp server配置好,一般不会有什么大的问题

但最近我在帮 www.danceshopper.com 进行多语言升级的时候,发现只要是繁体的邮件,到了hotmail中就subject是乱码,内容也是乱码,但用foxmail或outlook收到客户端的时候,问题就不存在了,类似的问题也会在gmail[已经解决]163等地方出现,困扰了我好几天,经过反复总结测试后,我得到了一个[或者说发现]正确发出非乱码邮件的方案.

其实很简单,就是你邮件的编码必须正确,这里编码需要注意到的地方有2处

1 邮件中的 charset 比如 html邮件必须包括 <META http-equiv="Content-Type" content="text/html; charset=gb2312">

2 BodyEncoding,请获取你发信件的所在的语系,不能用utf8

为什么强调不能用utf8呢,我分析是如hotmail这个老mailserver 可能开发的时间较久,不能对目前html进化有很好的支持,尤其是什么utf8 unicode这类东西,但hotmail对很多人来说又是一个不可缺少的邮箱,用它收发自己日常的信件[我基本不用,太慢了],所以 字符集这些东西必须强制制定,很多做多语言的朋友因为接触到功能强大的utf8,往往和我一样将这个问题忽略了,这里有必要提醒大家,呵呵,需要恢归原始

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航