首页 > 编程 > .NET > 正文

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

2024-07-10 12:55:08
字体:
来源:转载
供稿:网友
    在.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,往往和我一样将这个问题忽略了,这里有必要提醒大家,呵呵,需要恢归原始

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表