wordpress评论邮件提醒和wordpress邮件发送失败的解决方案

(window.slotbydup = window.slotbydup || []).push({ id: "u6201117", container: "_loc2j2sosji", async: true });

本站一直致力于wordpress主题下载和wordpress基础教程的分享发布,感谢大家多日来的支持和鼓励。今天说到的这个wordpress评论邮件提醒和wordpress邮件发送失败的解决方案,原教程来自小编的好友兼友情链接用户CREEKOO的,了解更多CREEKOO的朋友请到友情链接处访问,感谢CREEKOO的分享!

我前些天制作的一款简洁类的wordpress博客主题Laconic分享给大家后,很多人问我,我站里的wordpress评论邮件提醒功能是这么实现的,当时我很简单的回复下代码实现,可之后发现很多朋友都有这样的问题,所以今天小编起草了这份教程,供大家使用,望能给大家在wordpress使用方面带来方便,也欢迎大家收藏我们,多多关注我们!

下面先说wordpress评论邮件提醒功能的实现方法吧!



其实方法很简单,在wordpress主题根目录下找到 functions.php文件,用专门的编写代码软件将下面的代码加入进去

  1. //评论邮件自动通知,来自creekoo
  2. function comment_mail_notify($comment_id) {
  3.   $admin_email = get_bloginfo ('admin_email');
  4.   $comment = get_comment($comment_id);
  5.   $comment_author_email = trim($comment->comment_author_email);
  6.   $parent_id = $comment->comment_parent ? $comment->comment_parent : '';
  7.   $to = $parent_id ? trim(get_comment($parent_id)->comment_author_email) : '';
  8.   $spam_confirmed = $comment->comment_approved;
  9.   if (($parent_id != '') && ($spam_confirmed != 'spam') && ($to != $admin_email) && ($comment_author_email == $admin_email)) {
  10.     $wp_email = 'no-reply@' . preg_replace('#^www.#', ''strtolower($_SERVER['SERVER_NAME']));
  11.     $subject = '您在 [' . get_option("blogname") . '] 的评论有新的回复';
  12.     $message = '
  13.     <div style="font: 13px Microsoft Yahei;padding: 0px 20px 0px 20px;border: #ccc 1px solid;border-left-width: 4px; max-width: 600px;margin-left: auto;margin-right: auto;">
  14.       <p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
  15.       <p>您曾在 [' . get_option("blogname") . '] 的文章 《' . get_the_title($comment->comment_post_ID) . '》 上发表评论:<br />'
  16.        . nl2br(get_comment($parent_id)->comment_content) . '</p>
  17.       <p>' . trim($comment->comment_author) . ' 给您的回复如下:<br>'
  18.        . nl2br($comment->comment_content) . '</p>
  19.       <p style="color:#f00">您可以点击 <a href="' . htmlspecialchars(get_comment_link($parent_id, array('type' => 'comment'))) . '">查看回复的完整內容</a></p>
  20.       <p style="color:#f00">欢迎再次光临 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
  21.       <p style="color:#999">(此邮件由系统自动发出,请勿回复。)</p>
  22.     </div>';
  23.     $message = convert_smilies($message);
  24.     $from = "From: "" . get_option('blogname') . "" <$wp_email>";
  25.     $headers = "$fromnContent-Type: text/html; charset=" . get_option('blog_charset') . "n";
  26.     wp_mail( $to$subject$message$headers );
  27.   }
  28. }
  29. add_action('comment_post', 'comment_mail_notify');

通过以上代码即可实现wordpress评论邮件提醒功能,肿么样,是否很简单,免去了这个插件那个插件的使用了?

但是从这个教程中,会衍生出另一个问题,那就是很多win主机还是发送不了邮件,或者linux的主机发邮件过于缓慢,均会造成评论速度变慢的问题,那么如何解决wordpress邮件发送失败的问题呢?那么就继续看教程吧

方法很简单,那就是用代码的方法将wordpress自带发送邮件的功能用外部邮箱的SMTP来实现!这样的方法好处是评论速度快,且win主机和linux主机均可以快速发出邮件,从让解决上面那个教程带来的wordpress邮件发送失败的问题!

那么教程同样是在在wordpress主题根目录下找到 functions.php文件,加入下面的代码

  1. //使用smtp发送邮件,笔者用的是QQ邮箱,你可以参照你使用的邮箱具体设置SMTP
  2. add_action('phpmailer_init', 'mail_smtp');
  3. function mail_smtp( $phpmailer ) {
  4. $phpmailer->FromName = 'CreeKoo'; //发件人
  5. $phpmailer->Host = 'smtp.qq.com'; //修改为你使用的SMTP服务器
  6. $phpmailer->Port = 25; //SMTP端口
  7. $phpmailer->Username = '****@qq.com'; //邮箱账户   
  8. $phpmailer->Password = '*********'; //邮箱密码
  9. $phpmailer->From = '*****@qq.com'; //你的邮箱   
  10. $phpmailer->SMTPAuth = true;
  11. $phpmailer->SMTPSecure = ''//tls or ssl (port=25留空,465为ssl)
  12. $phpmailer->IsSMTP();
  13. }

将代码里的信息替换成自己的即可,这里要说到的是邮箱的SMTP端口有25或者是465,大家可以试试。。。
教程就到这了。。需要的朋友可以尝试下哈
如果看不懂此教程的朋友可以加入我们的wordpress技术交流群,群号文章的下方蓝色文字有!也可以找小编我付费辅助!哈哈

2013/8/31更新

这里要再特殊的说一下,在lnmp环境下,无论你是安装了sendmail组件还是Shell下的mail命令都OK的情况下,还是不能发送邮件的话,那么就需要到php.ini文件里修改配置了,

军哥的lnmp的php.ini文件在/usr/local/php/etc/php.ini  查找到sendmail_path 修改为:sendmail_path = /usr/sbin/sendmail -t -i 或者开放pfsockopen、fsockopen两个函数即可OK!!!

精彩推荐

本站承接 WordPress / DedeCMS / ThinkPHP 等
系统建站、仿站、开发、定制等业务!

1. 本站所有资源来源于用户上传和网络,仅作为演示数据,如有侵权请邮件联系站长!
2. 本站承接各类网站建设,仿站,多平台小程序搭建制作!
3. 本站联系QQ:897918909
beetheme资源网 » wordpress评论邮件提醒和wordpress邮件发送失败的解决方案
售后服务范围1、服务器配置及主机购买推荐
2、模板使用范围内问题免费咨询
3、单价超过100元的模板免费一次安装,需提供服务器信息。
付费增值服务1、提供WordPress主题、插件汉化、优化等服务请详询在线客服
2、承接 WordPress、DedeCMS、ThinkPHP 等系统建站、仿站、开发、定制等服务
3、服务器环境配置(一般 ¥50-300)
4、网站中毒处理(需额外付费,500元/次/质保三个月)
售后服务时间周一至周五(法定节假日除外) 9:00-23:00
免责声明本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@vip.beetheme.cn),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我们联系哦!

联系我们

发表评论

提供最优质的资源集合

立即查看 了解详情

扫码了解我们!

没有账号? 忘记密码?