完美实现Godaddy免费主机评论回复邮件通知功能

  • A+
所属分类:随笔分享
摘要

其实关于这个话题早就想写了,毕竟我为实现这个功能费了不少的心思。不仅把wordpress重新安装了好几遍,甚至有过放弃的想法。所以想把我的经历和大家分享一下。

其实关于这个话题早就想写了,毕竟我为实现这个功能费了不少的心思。不仅把wordpress重新安装了好几遍,甚至有过放弃的想法。所以想把我的经历和大家分享一下。

相信很多初次接触独立域名做博客的童鞋和我一样选择了Godaddy的域名,并且就用的它提供的免费主机。

如果你在建立主机的时候选择了Linux主机,恭喜你,WordPress可以正常调用mail()函数发出邮件,也就是说今天的问题根本不存在,因为有众多的插件可供选择。但是使用Linux主机的缺点也是很明显的,godaddy的广告条使得WordPress的后台无法正常工作,比如发布新文章、可视化编辑、回复评论等等都无法使用,可以说是严重的影响了我们的正常使用。所以要是想真正用这个免费的主机建立博客的话,只能选择Win主机。

于是网上便流传出了建立免费虚拟空间的时候选择Windows操作系统,原因大致有三点:
1. Windows主机下安装WordPress可以达到99%兼容,不像Linux下bug成片。
2.Windows主机下如果是安装WordPress的话,你会发现不仅是后台使用几乎完全正常,连godaddy免费主机强制加上的顶部广告条也没有了,是不是非常棒呢!
3.Linux下提供10个1G的MySQL数据库,而Windows主机则提供10个MySQL、1个Access数据可以及1个SQL server数据库,很明显,这个Windows主机的功能要比Linux主机强大。

其实最后一点对于我个人而言,目前并没有实际用处,毕竟我现在只是一个站而已。

下面来说说到底是如何来实现评论被回复时有邮件通知的功能吧。其实我折腾得过程也不亚于阿邙童鞋的解决WP在Godaddy主机评论回复邮件通知功能。所以想要看过程的童鞋可以自己去看看,而我也不想多谈了,毕竟付出太多了,我只讲我个人实现的过程。而且针对的是使用Godaddy免费Windows主机,其它未曾测试过。

首先,要突破Win主机限制的mail()函数,这里推荐我使用的插件:Configure SMTP。(至于其它的如WP-Mail-SMTP等等,不推荐使用,因为经过我的测试未能成功。)

具体设置如下,不要使用“send email via gmail”,只要设置两个参数即可,其它默认不填。

SMTP host:relay-hosting.secureserver.net
SMTP port:25

保存好,可以选择“Send A Test”发封测试邮件看看,也就是你建站时默认的邮箱,不出意外的话就可收到测试邮件了。

Hi, this is the Configure SMTP plugin e-mailing you a test message from your WordPress blog.

通过这样的设置已经是完成一半了,接下来就可以正常使用其它的评论回复插件了,不过本人并没有测试过,因为现在已经控制插件使用数量了。所以推荐使用willin大师Comment Mail Notify。在主题 functions.php 的 < ?php ..... ?>区域内添加代码,我使用的是第三种:
[php]/* comment_mail_notify v1.0 by willin kan. (所有回覆都發郵件) */
function comment_mail_notify($comment_id) {
$comment = get_comment($comment_id);
$parent_id = $comment->comment_parent ? $comment->comment_parent : '';
$spam_confirmed = $comment->comment_approved;
if (($parent_id != '') && ($spam_confirmed != 'spam')) {
$wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); //e-mail 發出點, no-reply 可改為可用的 e-mail.
$to = trim(get_comment($parent_id)->comment_author_email);
$subject = '您在 [' . get_option("blogname") . '] 的留言有了回應';
$message = '
<div style="background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;">
<p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
<p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />
' . trim(get_comment($parent_id)->comment_content) . '</p>
<p>' . trim($comment->comment_author) . ' 給您的回應:<br />
' . trim($comment->comment_content) . '<br /></p>
<p>您可以點擊 <a href="' . htmlspecialchars(get_comment_link($parent_id)) . '">查看回應完整內容</a></p>
<p>歡迎再度光臨 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
<p>(此郵件由系統自動發出, 請勿回覆.)</p>
</div>';
$from = "From: "" . get_option('blogname') . "" <$wp_email>";
$headers = "$fromnContent-Type: text/html; charset=" . get_option('blog_charset') . "n";
wp_mail( $to, $subject, $message, $headers );
//echo 'mail to ', $to, '<br/> ' , $subject, $message; // for testing
}
}
add_action('comment_post', 'comment_mail_notify');
// -- END ----------------------------------------[/php]

不过需要提醒的是,必须是在前台回复才会有邮件通知,后台是没有的。我不知道其他的插件效果是否如此,但我测试过都不行,所以不能怕麻烦,一定要先登录,然后去前台回复。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:30   其中:访客  30   博主  0

    • 草儿 草儿 5

      还没用过godaddy主机,不知道有这个抽风

      • 奶牛 奶牛 4

        这个方法绝对赞,搞定GaDaddy的邮件评论太好了~~~

        • 西门 西门 5

          我的付费GD空间终于稳定了,之前老是抽风,搞得我都疯了。

          • dengm dengm 0

            怎么是php的,看不太明白

              • admin admin 9

                @dengm wordpress不就是php的么

              • 小灵 小灵 0

                我是用Windows主机的。呵呵

                Configure SMTP 加 Comment Mail Notify 测试成功。

                • 自由帽 自由帽 0

                  我在Godaddy上建站了,使用的是Linux主机,所以Wordpress后台管理的确问题很多。
                  难道除了Windows主机外,Linux主机就不能完美实现后台功能吗?

                  希望大哥能考虑一下。

                  P.S.我加入去广告的代码使得后台显示正常了,但是编辑文章依然不正常。