Joe's Blog

在我的博客中,你会看到一些测试文章和Windows、Linux的使用技巧。有共同兴趣的朋友请关注我的博客。

C#中发送中文邮件乱码

今天,邮件发送又出现乱码了.使用 GB2312发送的邮件又出现乱码了.经过调试,发现邮件内容在发送之前读取正常没有发生乱码的问题.但是发送完,收到邮件又是乱码的.经过反复仔细检查,终于发现GB2312邮件的模板文件的charset=UTF-8,将其改为charset=gb2312,乱码问题解决了.

总结一下使用C#发送中文邮件几点需要注意的:

1. 要发送的邮件模板设置charset=gb2312

2. 邮件模板要以encoding cp936 保存(或是通过记事本保存成ANSI格式)

3. 代码中读取邮件模板是要以Encoding.GetEncoding( GB2312 )方式读取