也想出現在這里?聯系我們

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?=?'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?=?"$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!!!

有用2
  • 2013.08.12初次和大家見面了!

等待您對該主題的建議

發表評論

還能輸入240個字

Hi, 歡迎加入Wordpress技術交流群,帶你裝逼帶你飛!

我要入群
也想出現在這里?聯系我們
wordpress加速

我來推薦一個更牛逼的給你看看?

  • 猛戳我吧
夫妇野外交换HD高清版,免费A片在线观看,亚洲精品国产自在现线,中国老妇人60OLDMANTV