HostMonster外发Wordpress中文邮件乱码问题搞定

在我正在为HostMonster的发邮件乱码和Dreamhost Down机事件频繁而难以选择时,hleego给了我一个很重要的提示:如何在HostMonster上使用mail函数发出中文内容邮件?

可能默认并不支持非ASCII编码的信息传递。解决方法之一是,使用mb_send_mail代替mail函数,目的是在提交信息给MTA前,将信息使用适合的字符重新编码。

下载: mailtest.php
  1. <?php
  2. $to = 'yourmail@domain.com';
  3. $subject = '测试 Test';
  4. $message = '中文测试 Chinese Test';
  5. $headers = 'From: testmail@domain.com' . "\r\n" .
  6.    'Reply-To: replymail@domain.com' . "\r\n" .
  7.    'X-Mailer: PHP/' . phpversion();
  8.  
  9. /* Set internal character encoding to UTF-8 */
  10. mb_internal_encoding("UTF-8");
  11.  
  12. mb_send_mail($to, $subject, $message, $headers);
  13.  
  14. print "Please check test result at $to address. Make notice at Spam directory.";
  15. ?>

通过尝试,这种办法果然可行!马上动手修改Wordpress,瞬间搞定了全部乱码!

同样遇到此类问题的朋友,可下载我的修改文件my-hack.txt,下载后将后缀改为.php,修改第13、66行的发信地址为您的电邮地址,并上传至Wordpress根目录。然后登陆您的后台,在“设置”-“其他”中,将“兼容旧版 WordPress 中的 my-hacks.php 文件”钩选并保存即可,马上试试吧!

这回可以安心的用HostMonster了,但HostMonster的SMTP依然有问题存在,只是被换个方法绕道而行了。

网友评论 (3条)

  1. hleego -

    恭喜Matt!

  2. bunny -

    天啊,你不是一般的强嘛。以后在HM或者WP上有问题就赖上你了哈

  3. HostMonster外发Wordpress邮件中文乱码的解决方案 -

    [...] 方法一:基本原理依然来自己budian.cn,一方天修改完善 [...]

发表评论