System.Net.Mail发邮件标题过长出现乱码问题

来源:互联网 发布:笔记本电脑端口设置 编辑:程序博客网 时间:2024/04/27 17:09

在做项目时候,用到.Net的System.Net.Mail发送邮件,经测试,发现如果标题过长,收到的就会是乱码了(那种Base64格式的数据),几经测试,发现只能放60个中文汉字,多一个标点就出问题,后来想办法,解决了,现奉上解决方案~

把邮件标题转换成base64编码的,但是有特定的要求

那里的GB2312是你设定的邮件编码,要和下面ToBase64中的一致才行。

当然,如果标题还是过长的话,这种还是会出现乱码,解决方法就是把标题拆分成若干段,没段都用StringBuilder那里的处理方法,最后在拼接起来作为标题,发送时没有问题的。至此,这个问题就解决啦。

不过也许这个问题和邮件服务器有关吧,我是在自己的服务器上才出现这个问题,163之类的我没测。希望能对遇到相同问题的童鞋有所帮助。

 

原创粉丝点击