Mail To Commenter发件人地址问题解决

昨天提到的,安装Mail To Commenter插件后,当有评论被回复后,会有一封邮件发送给评论者,提醒他的评论有新的回复。邮件内容没有问题,而是邮件的发件人和地址。

我在网上求助了一大圈,今天得到了Simple happiness的博主德海的帮助,成功的解决了这个问题,在这里表示万分的感谢。

不过这个过程也不是一帆风顺的,先后修改了三次。第一次基本解决了发件人和邮件地址的问题,但是发件人的“年”字(八万光年)在Gmail里是乱码,在QQ邮箱里根本就不显示,应该是中英文编码的问题。后经过德海的两次修改,问题得以完美解决,具体的解决方法,可以看他的这篇文章

——————————————-引用的分割线————————————–

打开mail to commenter这个插件的目录,然后打开mailtocommenter_functions.php这个文件,在第213行会看到以下代码:

function mailtocommenter_send_email($to,$subject,$message){

    $blogname = get_option(‘blogname’);

修改成如下:

function mailtocommenter_send_email($to,$subject,$message){

/* modify by freephp(http://xfuxing.com) 2009-11-3

//source code

    $blogname = get_option(‘blogname’);

*/

/* my modify code start (freephp)*/

$hostname = get_option(‘home’);    //get blog url

preg_match("/^(http:\/\/)?([^\/]+)/i",$hostname, $matches);    //get hostname from blog url

$blogname = get_option(‘blogname’);

$blogname .= " <no-reply@";    //blogname+<no-reply@

$blogname .= $matches[2];    //blogname+<no-reply@+hostname

$blogname .= ">";    //blogname+<no-reply@+hostname+>=blogname<no-reply@hostname>

/* my modify code end (freephp)*/

好了,去测试一下吧,应当没什么问题的。所有的注释只是为了方便,您可以去掉,要注意的一点就是在“$blogname .= ” <no-reply@”;”这行里,“<”之前的空格一定不要去掉,否则会在编码上出现半个中文字(乱码)的样子,哈哈。哦,还有一点,一定要注意保存文件的格式:utf-8无BOM。

——————————————-引用的分割线————————————–

以后在我的博客留言的朋友,如果留言有新的回复,就会有邮件通知了!

 

    已经有27条评论

  1. 专程跑过来找关于mail to comment插件解决办法的……
    我发给别人的邮件都没有显示地址。。。
    好囧~

  2. @Jason Chao 为什么还是发件人有乱码?郁闷……把你的mail to 插件打包发给我一份可以么?谢谢了……
    我的邮箱:haozer@qq.com

  3. 求助,我也装了Mail To Commenter,可是发件人地址是主机的一个很长很奇怪的地址,在插件里的测试功能中,QQ邮箱不能收到,Gmail能收到。
    回复测试,没有任何效果。
    (liulei) (liulei)

  4. 绿豆糕,你这篇文章是google搜索“ Mail to Commenter 发件人 乱码”第一个结果呀。

  5. 为何我的 Mail to Commenter 回复给别人 别人邮箱里面无内容。
    求解啊。

    • Jason Chao

      mail to commenter 和 WP-UserAgent 不兼容,我现在用的是Comment Reply Notification,网上也有免插件邮件通知的方法。