<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>行云流水 &#124; Yorick's Blog &#187; 乱码</title>
	<atom:link href="http://www.pihai.net/tag/%e4%b9%b1%e7%a0%81/feed" rel="self" type="application/rss+xml" />
	<link>http://www.pihai.net</link>
	<description>最后，他们奔我而来，再也没有人站起来为我说话了……</description>
	<lastBuildDate>Fri, 04 Jun 2010 11:49:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>HostMonster 外发 WordPress 邮件中文乱码的解决方案</title>
		<link>http://www.pihai.net/technology/wordpress-email-code-at-hostmonster.html</link>
		<comments>http://www.pihai.net/technology/wordpress-email-code-at-hostmonster.html#comments</comments>
		<pubDate>Sat, 16 Jun 2007 14:18:17 +0000</pubDate>
		<dc:creator>Yorick</dc:creator>
				<category><![CDATA[技术 | Technology]]></category>
		<category><![CDATA[HostMonster]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[乱码]]></category>
		<category><![CDATA[邮件]]></category>

		<guid isPermaLink="false">http://www.pihai.net/uncategorized/test.html</guid>
		<description><![CDATA[如果你是使用WordPress，又刚好是租用Hostmonster的虚拟主机，可能会遇到邮件乱码，而且由Wordpress发出的邮件寄件者是xxx@host62.hostmonster.com，如果你想解決乱码问题，并将邮件寄件者改为自己的EMAIL，可以按照下面方式修改。
引起问题的主要原因是：默认不支持非ASCII编码的信息传递。 放狗搜索了一下，总结几个解决的方法:]]></description>
			<content:encoded><![CDATA[<p><font color="#ff0000">update on 2007.6.23</font>:WP更新到<a href="http://www.gtp2p.com/2007/05/16/wordpress-22-%e4%b8%ad%e6%96%87%e7%89%88%e6%8f%90%e4%be%9b%e4%b8%8b%e8%bd%bd%ef%bc%81/" title="wordpress2.2中文版" target="_blank">2.2中文版</a>后，发现不存在邮件乱码的问题了，只是需要修改发送人地址为自己就可以了，原来<a href="http://www.gtp2p.com/2007/05/19/wp-22-%e4%b8%8b%e9%82%ae%e4%bb%b6%e6%a0%87%e9%a2%98%e5%87%ba%e7%8e%b0%e4%b9%b1%e7%a0%81%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/" title="修正版本" target="_blank">点点已经修正了其中相关代码</a>。<br />
<a href="http://www.hostmonster.com" target="_blank"><img src="http://lh6.google.com/image/bunny.chen/RnupA5e3XmI/AAAAAAAAAz8/4mMq1YqvcJA/s144/hostmonster.jpg" class="shadow" align="right" /></a><br />
如果你是使用 WordPress ，又刚好是租用 Hostmonster 的虚拟主机，可能会遇到邮件乱码，而且由 WordPress 发出的邮件寄件者是<a href="mailto:xxx@host62.hostmonster.com">xxx@host62.hostmonster.com</a>，如果你想解決乱码问题，并将邮件寄件者改为自己的 EMAIL ，可以按照下面方式修改。<br />
引起问题的主要原因是：默认不支持非 ASCII 编码的信息传递。 放狗搜索了一下，总结几个解决的方法:<br />
<span id="more-4"></span></p>
<p><font color="magenta">方法一：</font>基本原理来自己<a href="http://budian.cn/" target="_blank">budian.cn</a>，<a href="http://www.uiland.com/wordpress/hostmonster-character-encoding-problem-solved.html" target="_blank">一方天</a>修改完善</p>
<p>使用 mb_send_mail 代替 mail 函数，目的是在提交信息给 MTA 前，将信息使用适合的字符重新编码。<br />
先下载其制作的 <span id="attach_666" style="white-space: nowrap" initialized="true" unselectable="true" outfunc="null"><span class="bold">my-hacks.rar</span> (4.48 KB)</span>文件，<font color="red"><strong>修改后缀名为.php</strong></font>，修改第13、66行的发信地址为您的电邮地址，并上传至 WordPress <font color="red">根</font>目录。然后登陆您的后台，在“设置”-“其他”中，将“兼容旧版 WordPress 中的 my-hacks.php  文件”钩选并保存即可。</p>
<p>PS：目前本人应用这种方法。</p>
<p><font color="magenta">方法二：</font>原理来自台湾的网友<a href="http://blog.chweng.idv.tw/" target="_blank">C.H.Weng</a></p>
<p>修正邮件本身的  header、subject 以及内容，使大多数的邮件软体与网页可以正确读取。<br />
这方法虽然不错，但是因为考虑到还有一些系统没有完全支持  UTF-8，容易产生一些預期之外的状况。因此，除非你很执着一定要采用 UTF-8 编码，不然不建议用这个方式修改。<br />
由于不易掌握送到 wp_mail  这个函式的资料型式，因此这个方法可能还有一些盲点存在。不过至少 WordPress 本身用到关于寄信的功能、以及 <a href="http://www.skippy.net/blog/plugins/" target="_blank">WP-DB-Backup</a>、<a href="http://unknowngenius.com/blog/wordpress/spam-karma/" target="_blank">Spam  Karma 2</a> 等等插件都能正常运作。<br />
先下载其制作的 <span id="attach_667" onmouseover="showMenu(this.id)" style="white-space: nowrap"><span class="bold">wp-mail2utf8.rar</span> (1.64  KB)</span>文件，<font color="red"><strong>修改文件名为my-hacks.php（注意后缀名）</strong></font>，并上传至 WordPress <font color="red">根</font>目录。然后登陆您的后台，在“设置”-“其他”中，将“兼容旧版 WordPress 中的 my-hacks.php  文件”钩选并保存即可。<br />
PS：这个方法是直接从WP中读取邮件地址，可随着你在WP中修改邮件地址，自动改变，本人未做测试，如果有异常情况，请联系原作者。</p>
<p><font color="magenta">方法三：</font>原理来自台湾的网友<a href="http://blog.chweng.idv.tw/" target="_blank">C.H.Weng</a></p>
<p>目前常見的各大论坛，为求最大相容性，就算论坛本身是 UTF-8  编码，在寄发邮件的时候，还是将邮件內容转成 Big5 编码来寄送。这方法较前一个的相容性好上许多，缺点就是没办法兼顾到 UTF-8  多语系并存的特色，而且服务器本身必须有 iconv 功能，才能进行转换。这边我一样直接对 wp_mail  函式下手，这样处理过后，凡是藉由这个函式送出的邮件，就全部都是 Big5 编码的形式了。<br />
先下载其制作的 <span id="attach_668" onmouseover="showMenu(this.id)" style="white-space: nowrap"><span class="bold">wp-mail2big5.rar</span> (703  Bytes)</span>文件，<font color="red"><strong>修改文件名为my-hacks.php（注意后缀名）</strong></font>，并上传至 WordPress <font color="red">根</font>目录。然后登陆您的后台，在“设置”-“其他”中，将“兼容旧版 WordPress 中的 my-hacks.php  文件”钩选并保存即可。</p>
<p>PS：这个方法是直接从WP中读取邮件地址，可随着你在WP中修改邮件地址自动改变，本人未做测试，如果有异常情况，请联系原作者。<br />
<font color="red"><strong>（注意：此方法修改为BIG5发送，理论上可以修改源代码实现简体形式，本人未做测试，欢迎有才人士修改后反馈）</strong></font></p>
<p><font color="magenta">方法四：</font>使用插件，当然以上的方法都可以做成插件，感兴趣的朋友可以自己制作，记得反馈哦。</p>
<blockquote><p>插件名称：UTF-8 Mail Header Fix (PipperL  version)<br />
最新版本：v1.3<br />
适用版本：WordPress 2.X<br />
官方站点：<a href="http://blog.serv.idv.tw/utf-8_mailheader_fix" target="_blank">終極邊疆BLOG</a><br />
文件名称：<span id="attach_669" onmouseover="showMenu(this.id)" style="white-space: nowrap"><span class="bold">utfmail_PL_13.zip</span> (1.35  KB)</span><br />
<span id="attach_669" onmouseover="showMenu(this.id)" style="white-space: nowrap"></span></p></blockquote>
<p><font color="magenta">补充说明一：</font><br />
著名的 Spam Karma 2(SK2)  插件在发信时没有调用系统函数，而是自己写了邮件发送部分的代码，故由它发出的邮件可能仍有部分地方会是乱码（标题或内容）。<a href="http://www.cube316.net/blog/wordpress-cube-mailer" target="_blank">碎片</a>已针对这个问题修改了它的源码（version 2.3rc1)，省去各位劳心之苦。文件名称： <span id="attach_670" onmouseover="showMenu(this.id)" style="white-space: nowrap"><span class="bold">spam_karma_2_plugin.zip</span> (13.42 KB)</span><br />
<font color="magenta">补充说明二：</font><br />
修改 php.ini 文件实现使用自己的邮件地址作为发送邮件地址<br />
1.  首先从/public_html/下载 php.ini 文件<br />
2. 在 php.ini 文件中找到第604行的</p>
<blockquote><p><font color="#007f00">sendmail_path = /usr/sbin/sendmail -t -i  ;</font></p></blockquote>
<p>3.將他改為：</p>
<blockquote><p><font color="#007f00">sendmail_path = /usr/sbin/sendmail -t -i -f <a href="mailto:you@gmail.com">you@gmail.com</a> ;</font></p></blockquote>
<p>其中 <font color="#ff0000">-f</font>是个参数，后面的「<font color="#ff0000">you@gmail.com</font>」改成你的 Email 地址<br />
把这个修改好的 php.ini 文件，复制到你的WP根目录。完成。</p>
<p><font color="red">PS：提到的插件请到<a href="http://www.idcspy.com/bbs/viewthread.php?tid=5710&amp;page=1#pid19509" target="_blank">这里</a></font><font color="red">下载，本人总结整理，首发于idcspy.com</font><font color="red">，任何问题请留言或者联系原作者，请各位测试过的朋友积极反馈。<br />
PS2:</font>总的来说解决方案其实就是两种，一种是启用WP的 my-hacks.php 支持。  还有一种方式我觉得更为稳妥，WP本身提供了 filter 功能，针对特定流程中的某些步骤加以用户自定义功能，而发信功能恰好在受支持之列。推荐大家采用的終極邊疆提供的插件结合上面修改 php.ini 以自己邮件地址作为发件地址的形式来实现无乱码。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pihai.net/technology/wordpress-email-code-at-hostmonster.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
