在做项目时候,用到.Net的System.Net.Mail发送邮件,经测试,发现如果标题过长,收到的就会是乱码了(那种Base64格式的数据),几经测试,发现只能放60个中文汉字,多一个标点就出问题,后来想办法,解决了,现奉上解决方案~
把邮件标题转换成base64编码的,但是有特定的要求
那里的GB2312是你设定的邮件编码,要和下面ToBase64中的一致才行。
当然,如果标题还是过长的话,这种还是会出现乱码,解决方法就是把标题拆分成若干段,没段都用StringBuilder那里的处理方法,最后在拼接起来作为标题,发送时没有问题的。至此,这个问题就解决啦。
不过也许这个问题和邮件服务器有关吧,我是在自己的服务器上才出现这个问题,163之类的我没测。希望能对遇到相同问题的童鞋有所帮助。
本文介绍了一种解决使用 .Net System.Net.Mail 发送邮件时标题过长导致乱码的方法,通过将标题转换为Base64编码并适配邮件长度限制。
4120

被折叠的 条评论
为什么被折叠?



