惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
I
InfoQ
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
量子位
博客园 - 叶小钗
月光博客
月光博客
IT之家
IT之家
G
Google Developers Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享

博客园 - bartholomew

new作为修饰符时的使用,以及接口的显式实现 关键词:应用程序扩展,通配符应用程序映射 Silverlight 2 Beta 1在Firefox下显示时的一点小问题~ Visual Studio也有调试禁区?! 关于SQL Server 2005的版本号 使用动态SQL的一点小技巧 通过本地IIS SMTP服务器发送邮件时提示“邮箱不可用”的解决办法 写代码的心情 在XP上安装SQL Server 2000、Visual studio .net 2003、Visual studio 2005、SQL Server 2005…… XPS M1210到了~~~~ 在dell的网上订购了XPS M1210,耐心等待中…… 对PropertyGrid控件中PropertyValueChanged事件的探讨 关于邮件群发 关于Dotnet中的线程池 Dotnet中强行关闭多线程应用程序的所有线程 工作之余,自省~ 创建某控件的线程之外的其他线程试图调用该控件引发的问题 古怪的ConfigurationManager类 多线程编程中Join与WaitOne的区别
使用System.Net.Mail.SmtpClient发送邮件时出现的乱码问题
bartholomew · 2006-12-01 · via 博客园 - bartholomew

以前公司给客户群发邮件采用的是用Socket直接与邮件服务器通讯的方式,但是后来发现可能是我们的那部分模块写的不完善,采用多线程同时发送大量邮件时会出现丢失邮件的情况,大概会丢失10%左右,以前写这个模块的人现已不在公司了,于是决定直接采用.NET自带的System.Net.Mail.SmtpClient组件。

.NET的System.Net.Mail.SmtpClient封装的比较好,发送邮件时操作比较简单,只需简单设置几个属性即可。我采用SmtpClient替换以前的邮件发送模块后,丢失邮件的情况几乎没有了~~~

但过了几天,有些客户反映收到的邮件是乱码,虽然通过让客户修改用来接收邮件的ie或是foxmail等客户端的编码可以解决,但是总不能每次都让客户修改编码吧……

查找原因,发现邮件正文的模版是html格式,编码采用的是gb2312,但用SmtpClient时设置的却是utf-8,遂将SmtpClient发送时的设置改为gb2312,但此时发送出去的邮件却全都是乱码了,在网上查找后得到  stone 兄弟的提示,终于解决,方法如下:

mail.From = new MailAddress("fromabc@163.com", "名字", Encoding.GetEncoding("GB2312"));
mail.To.Add(
new MailAddress("toabc@163.com","名字",Encoding.GetEncoding("GB2312")));

mail.SubjectEncoding 

= Encoding.GetEncoding("GB2312");
mail.BodyEncoding 
= Encoding.GetEncoding("GB2312");