王尘宇王尘宇

研究百度干SEO做推广变成一个被互联网搞的人

wordpress批评邮件提示和wordpress邮件发送失利的解决方案

本站一向致力于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 = '[email protected]' . 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 = "$from\nContent-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!!!

相关文章

评论列表

发表评论:
验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。