phpmailer,乱码是如何产生的?

正在做一些自己网站的事情,又遇到了发邮件的一些难题,以前写过一些发邮件的方法,但不知道什么时候失效了,可能我使用的smtp服务器做了更改,所以我就接受了很多人的意见使用phpmailer发邮件,具体方法,网上有的是,Google,baidu,yahoo,soso应有尽有……

不过还是遇到问题了,虽然利用phpmailer每次都能正常发出,但发出的中文邮件在Gmail,hotmail里面显示正常,但在126,163里面全是乱码,折腾了一下午,除了能修正标题的乱码问题外,内部代码始终不能解决。编码在utf-8和GB2312之间换了又换……

功夫不负有心人,终于发现问题所在。这次开发程序计划与国际接轨,使用的页面编码都是utf-8的,都是这个因素造成的,将utf-8换为ANSI便没有任何问题了,这么说来126等国内邮箱还不支持utf-8编码的邮件!但是如果这样是不是要考虑将页面程序和邮件程序分开呢……

phpmailer,乱码是如何产生的?》上有 5 条评论

  1. 建议你放弃对126邮箱不“国际化”的部分的支持
    既然网站都utf8了,干嘛还要保留gb2312作甚?
    如果能促使126改进程序就更好了

  2. 据我所知,网易的邮箱占据了国内很大一块市场,咱们的针对的用户还是国内居多,迫于这种情况,我不得不妥协啦

  3. 如果你把源码改成ansi的,以后移植程序还是会有问题
    倒不如源码使用utf8的,在和126服务器通信的时候再用iconv转换编码
    是不是更合适一些?