HostMonster外发邮件出现乱码该怎么办?
如果你是使用WordPress,又刚好是租用Hostmonster的虚拟主机,可能会遇到邮件乱码,而且由Wordpress发出的邮件寄件者是xxx@host62.hostmonster.com,如果你想解決乱码问题,并将並將邮件寄件者改为自己的EMAIL,可以按照下面方式修改。
引起问题的主要原因是:默认不支持非ASCII编码的信息传递。(参考论坛以前的相关帖)
放狗搜索了一下,总结几个解决的方法
方法一:
使用mb_send_mail代替mail函数,目的是在提交信息给MTA前,将信息使用适合的字符重新编码。
先下载其制作的 my-hacks.rar (4.48 KB)
2007-5-27 12:16 PM
文件,修改后缀名为.php,修改第13、66行的发信地址为您的电邮地址,并上传至Wordpress根目录。然后登陆您的后台,在“设置”-“其他”中,将“兼容旧版 WordPress 中的 my-hacks.php 文件”钩选并保存即可。
PS:目前本人应用这种方法。
方法二:原理来自台湾的网友C.H.Weng
修正郵件本身的 header、subject 以及內容,使大多數的郵件軟體與網頁可以正確讀取。
這方法雖然不錯,但是因為考慮到還有一些系統沒有完全支援 UTF-8,容易產生一些預期之外的狀況。因此,除非你很執著一定要採用 UTF-8 編碼,不然不建議用這個方式修正。
由於不易掌握送到 wp_mail 這個函式的資料型式,因此這個方法可能還有一些盲點存在。不過至少 WordPress 本身用到關於寄信的功能、以及 WP-DB-Backup、Spam Karma 2 等等外掛都能正常運作。
先下载其制作的 wp-mail2utf8.rar (1.64 KB)
2007-5-27 12:36 PM
文件,修改文件名为my-hacks.php(注意后缀名),并上传至Wordpress根目录。然后登陆您的后台,在“设置”-“其他”中,将“兼容旧版 WordPress 中的 my-hacks.php 文件”钩选并保存即可。
PS:这个方法是直接从WP中读取邮件地址,可随着你在WP中修改邮件地址,自动改变,本人未做测试,如果有异常情况,请联系原作者。
方法三:原理来自台湾的网友C.H.Weng
目前常見的各大論壇,為求最大相容性,就算論壇本身是 UTF-8 編碼,在寄發郵件的時候,還是將郵件內容轉成 Big5 編碼來寄送。這方法較前一個的相容性好上許多,缺點就是沒辦法兼顧到 UTF-8 多語系並存的特色,而且伺服器本身必須有 iconv 功能,才能進行轉換。這邊我一樣直接對 wp_mail 函式下手,這樣處理過後,凡是藉由這個函式送出的郵件,就全部都是 Big5 編碼的形式了。
先下载其制作的 wp-mail2big5.rar (703 Bytes)
2007-5-27 12:50 PM
文件,修改文件名为my-hacks.php(注意后缀名),并上传至Wordpress根目录。然后登陆您的后台,在“设置”-“其他”中,将“兼容旧版 WordPress 中的 my-hacks.php 文件”钩选并保存即可。
PS:这个方法是直接从WP中读取邮件地址,可随着你在WP中修改邮件地址自动改变,本人未做测试,如果有异常情况,请联系原作者。
(注意:此方法修改为BIG5发送,理论上可以修改源代码实现简体形式,本人未做测试,欢迎有才人士修改后反馈)