最新消息:本站原qzkyl域名已转让,后期该域名所有言论与本站无关,同时本站已改名ipve虚拟机,交换友链请发送邮件zc#ipve.cn(#换@)

修改Emlog插件sendmail的邮件发送样式

WordPress ipve 1407浏览 18评论

      昨天没事看到官网邮件发送插件,发送的邮件有点太简单,不够美观,于是开始折腾,一直折腾到凌晨2点,终于全部搞定了,上个效果图:

修改Emlog插件sendmail的发送样式

      还有另外一个样式自己留着用,有想改的也可以在下面的代码里修改,上代码(是以3.8版本作为基础的,其他版本不保证能用,代码需要适当修改,更名为kl_sendmail.php放在content\plugins\kl_sendmail插件目录,这样原文件的备份

  1. <?php
  2. /*
  3. Plugin Name: Sendmail
  4. Version: 3.8
  5. Plugin URL: http://kller.cn/?post=61
  6. Description: 发送博客留言至E-mail。
  7. Author: KLLER
  8. Author Email: kller@foxmail.com
  9. Author URL: http://kller.cn
  10. */
  11.  
  12. !defined('EMLOG_ROOT') && exit('access deined!');
  13. require_once(EMLOG_ROOT.'/content/plugins/kl_sendmail/class/class.smtp.php');
  14. require_once(EMLOG_ROOT.'/content/plugins/kl_sendmail/class/class.phpmailer.php');
  15. function kl_sendmail_do($mailserver, $port, $mailuser, $mailpass, $mailto, $subject, $content, $fromname)
  16. {
  17. $mail = new KL_SENDMAIL_PHPMailer();
  18. $mail->CharSet = "UTF-8";
  19. $mail->Encoding = "base64";
  20. $mail->Port = $port;
  21.  
  22. if(KL_MAIL_SENDTYPE == 1)
  23. {
  24. $mail->IsSMTP();
  25. }else{
  26. $mail->IsMail();
  27. }
  28. $mail->Host = $mailserver;
  29. $mail->SMTPAuth = true;
  30. $mail->Username = $mailuser;
  31. $mail->Password = $mailpass;
  32.  
  33. $mail->From = $mailuser;
  34. $mail->FromName = $fromname;
  35.  
  36. $mail->AddAddress($mailto);
  37. $mail->WordWrap = 500;
  38. $mail->IsHTML(true);
  39. $mail->Subject = $subject;
  40. $mail->Body = $content;
  41. $mail->AltBody = "This is the body in plain text for non-HTML mail clients";
  42. if($mail->Host == 'smtp.gmail.com') $mail->SMTPSecure = "ssl";
  43. if(!$mail->Send())
  44. {
  45. echo $mail->ErrorInfo;
  46. return false;
  47. }else{
  48. return true;
  49. }
  50. }
  51. function kl_sendmail_get_comment_mail()
  52. {
  53. include(EMLOG_ROOT.'/content/plugins/kl_sendmail/kl_sendmail_config.php');
  54. if(KL_IS_SEND_MAIL == 'Y' || KL_IS_REPLY_MAIL == 'Y')
  55. {
  56. $comname = isset($_POST['comname']) ? addslashes(trim($_POST['comname'])) : '';
  57. $comment = isset($_POST['comment']) ? addslashes(trim($_POST['comment'])) : '';
  58. $commail = isset($_POST['commail']) ? addslashes(trim($_POST['commail'])) : '';
  59. $comurl = isset($_POST['comurl']) ? addslashes(trim($_POST['comurl'])) : '';
  60. $gid = isset($_POST['gid']) ? intval($_POST['gid']) : (isset($_GET['gid']) ? intval($_GET['gid']) : -1);
  61. $pid = isset($_POST['pid']) ? intval($_POST['pid']) : 0;
  62. $http_referer = empty($_SERVER['HTTP_REFERER']) ? BLOG_URL : $_SERVER['HTTP_REFERER'];
  63.  
  64. $blogname = Option::get('blogname');
  65. $Log_Model = new Log_Model();
  66. $logData = $Log_Model->getOneLogForHome($gid);
  67. $log_title = $logData['log_title'];
  68. $subject = "日志《{$log_title}》收到了新的评论";
  69. if(strpos(KL_MAIL_TOEMAIL, '@139.com') === false)
  70. {
  71. $content = "评论内容:{$comment}<br /><br />发件人:".$comname."<br />";
  72. if(!empty($commail)) $content .= "Email:{$commail}<br />";
  73. if(!empty($comurl)) $content .= "主页:{$comurl}<br />";
  74. $content .= "<br /><strong>=> 现在就前往<a href=\"{$http_referer}\" target=\"_blank\">日志页面</a>进行查看</strong><br />";
  75. }else{
  76. $content = $comment;
  77. }
  78. if(KL_IS_SEND_MAIL == 'Y')
  79. {
  80. if(ROLE == 'visitor') kl_sendmail_do(KL_MAIL_SMTP, KL_MAIL_PORT, KL_MAIL_SENDEMAIL, KL_MAIL_PASSWORD, KL_MAIL_TOEMAIL, $subject, $content, $blogname);
  81. }
  82. if(KL_IS_REPLY_MAIL == 'Y')
  83. {
  84. if($pid > 0)
  85. {
  86. $DB = Option::EMLOG_VERSION >= '5.3.0' ? Database::getInstance() : MySql::getInstance();
  87. $Comment_Model = new Comment_Model();
  88. $pinfo = $Comment_Model->getOneComment($pid);
  89. if(!empty($pinfo['mail']))
  90. {
  91. $subject = "您在【骑猪看月亮】发表的评论收到了回复";
  92. $content ='
  93. <div align="center" style="font: 13px/1.5 microsoft yahei,Verdana,Arial,Helvetica,sans-serif;">
  94. <br/><br/>
  95. <div align="left" style="text-decoration:none;width:580px;font-size:14px;padding:10px 15px;margin-bottom:20px;border:1px solid #ccc;border-radius:4px;">
  96. <div align="center"><strong><span style="font-size:28px;color:#08d;">骑猪看月亮</span></strong></div>
  97. <p><strong>'.$pinfo['poster'].'</strong> , 您好:</p>
  98. <p><strong>&nbsp;&nbsp;&nbsp;&nbsp;您之前在 《'.$log_title.'》 发表的的评论:</strong></p>
  99. <p>&nbsp;&nbsp;&nbsp;&nbsp;'.$pinfo['comment'].'</p>
  100. <p><strong>'.$comname.'</strong> 给您的回复:</p>
  101. <p>&nbsp;&nbsp;&nbsp;&nbsp;'.$comment.'</p>
  102. <p><strong>您可以点击 <a href="'.Url::log($gid).'" style="text-decoration: none;outline:none;" target="_blank">查看该日志</a></strong></p>
  103. <p><strong>感谢您对 <a href="'.BLOG_URL.'" style="text-decoration: none;outline:none;" target="_blank">'.$blogname.'</a> 的关注, 欢迎 <a href="'.BLOG_URL.'rss.php" style="text-decoration: none;outline:none;" target="_blank">订阅本站</a></strong></p>
  104. <p style="color:#999; margin:26px 0 0 0; font-size:12px;">
  105. 骑猪看月亮的博客:<a href="https://www.ipve.cn" target="_blank" style="color:#999;">https://www.ipve.cn</a><br>
  106. <span style="text-align:right;background:#ccc;height:1px;widli:100%;overflow:hidden;display:block;margin:8px 0;"></span>
  107. 骑猪看月亮<br>
  108. '.gmdate("Y年 m月 d日",time()+8*3600).'
  109. </p>
  110. </div>
  111. <p>Powered by <a href="https://www.ipve.cn" style="text-decoration: none;outline:none;" target="_blank" title="骑猪看月亮">www.ipve.cn</a></p>
  112. <br/>
  113. </div>';
  114. kl_sendmail_do(KL_MAIL_SMTP, KL_MAIL_PORT, KL_MAIL_SENDEMAIL, KL_MAIL_PASSWORD, $pinfo['mail'], $subject, $content, $blogname);
  115. }
  116. }
  117. }
  118. }else{
  119. return;
  120. }
  121. }
  122. addAction('comment_saved', 'kl_sendmail_get_comment_mail');
  123.  
  124. function kl_sendmail_get_twitter_mail($r, $name, $date, $tid)
  125. {
  126. include(EMLOG_ROOT.'/content/plugins/kl_sendmail/kl_sendmail_config.php');
  127. if(KL_IS_TWITTER_MAIL == 'Y')
  128. {
  129. $DB = Option::EMLOG_VERSION >= '5.3.0' ? Database::getInstance() : MySql::getInstance();
  130. $blogname = Option::get('blogname');
  131. $sql = "select a.content, b.username from ".DB_PREFIX."twitter a left join ".DB_PREFIX."user b on b.uid=a.author where a.id={$tid}";
  132. $res = $DB->query($sql);
  133. $row = $DB->fetch_array($res);
  134. $author = $row['username'];
  135. $twitter = $row['content'];
  136. $subject = "{$author}发布的碎语收到了新的回复";
  137. if(strpos(KL_MAIL_TOEMAIL, '@139.com') === false)
  138. {
  139. $content = "{$author}发布的碎语:{$twitter}<br /><br />{$name}对碎语的回复:{$r}<br /><br /><strong>=> 现在就前往<a href=\"{$_SERVER['HTTP_REFERER']}\" target=\"_blank\">碎语页面</a>进行查看</strong><br />";
  140. }else{
  141. $content = $r;
  142. }
  143. if(ROLE == 'visitor') kl_sendmail_do(KL_MAIL_SMTP, KL_MAIL_PORT, KL_MAIL_SENDEMAIL, KL_MAIL_PASSWORD, KL_MAIL_TOEMAIL, $subject, $content, $blogname);
  144. }
  145. }
  146. addAction('reply_twitter', 'kl_sendmail_get_twitter_mail');
  147.  
  148. function kl_sendmail_put_reply_mail($commentId, $reply)
  149. {
  150. global $userData;
  151. include(EMLOG_ROOT.'/content/plugins/kl_sendmail/kl_sendmail_config.php');
  152. if(KL_IS_REPLY_MAIL == 'Y')
  153. {
  154. $DB = Option::EMLOG_VERSION >= '5.3.0' ? Database::getInstance() : MySql::getInstance();
  155. $blogname = Option::get('blogname');
  156. $Comment_Model = new Comment_Model();
  157. $commentArray = $Comment_Model->getOneComment($commentId);
  158. extract($commentArray);
  159. $subject="您在【{$blogname}】发表的评论收到了回复";
  160. if(strpos($mail, '@139.com') === false)
  161. {
  162. $emBlog = new Log_Model();
  163. $logData = $emBlog->getOneLogForHome($gid);
  164. $log_title = $logData['log_title'];
  165. $content = '
  166. <div align="center" style="font: 13px/1.5 microsoft yahei,Verdana,Arial,Helvetica,sans-serif;">
  167. <br/><br/>
  168. <div align="left" style="text-decoration:none;width:580px;font-size:14px;padding:10px 15px;margin-bottom:20px;border:1px solid #ccc;border-radius:4px;">
  169. <div align="center"><strong><span style="font-size:28px;color:#08d;">骑猪看月亮</span></strong></div>
  170. <p><strong>'.$poster.'</strong> ,您好:</p>
  171. <p><strong>&nbsp;&nbsp;&nbsp;&nbsp;您之前在 《'.$log_title.'》 发表的的评论:</strong></p>
  172. <p>&nbsp;&nbsp;&nbsp;&nbsp;'.$comment.'</p>
  173. <p><strong>'.$userData['nickname'].'</strong> 给您的回复:</p>
  174. <p>&nbsp;&nbsp;&nbsp;&nbsp;'.$reply.'</p>
  175. <p><strong>您可以点击 <a href="'.Url::log($gid).'" style="text-decoration: none;outline:none;" target="_blank">查看该日志</a></strong></p>
  176. <p><strong>感谢您对 <a href="'.BLOG_URL.'" style="text-decoration: none;outline:none;" target="_blank">'.$blogname.'</a> 的关注, 欢迎 <a href="'.BLOG_URL.'rss.php" style="text-decoration: none;outline:none;" target="_blank">订阅本站</a></strong></p>
  177. <p style="color:#999; margin:26px 0 0 0; font-size:12px;">
  178. 骑猪看月亮的博客:<a href="https://www.ipve.cn" target="_blank" style="color:#999;">https://www.ipve.cn</a><br>
  179. <span style="text-align:right;background:#ccc;height:1px;widli:100%;overflow:hidden;display:block;margin:8px 0;"></span>
  180. 骑猪看月亮<br>
  181. '.gmdate("Y年 m月 d日",time()+8*3600).'
  182. </p>
  183. </div>
  184. <p>Powered by <a href="https://www.ipve.cn" style="text-decoration: none;outline:none;" target="_blank" title="骑猪看月亮">www.ipve.cn</a></p>
  185. <br/>
  186. </div>';
  187. }else{
  188. $content = $reply;
  189. }
  190. if($mail != '') kl_sendmail_do(KL_MAIL_SMTP, KL_MAIL_PORT, KL_MAIL_SENDEMAIL, KL_MAIL_PASSWORD, $mail, $subject, $content, $blogname);
  191. }else{
  192. return;
  193. }
  194. }
  195. addAction('comment_reply', 'kl_sendmail_put_reply_mail');
  196.  
  197. function kl_sendmail_menu()
  198. {
  199. echo '<div class="sidebarsubmenu" id="kl_sendmail"><a href="./plugin.php?plugin=kl_sendmail">sendmail</a></div>';
  200. }
  201. addAction('adm_sidebar_ext', 'kl_sendmail_menu');
  202. ?>

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (18)

  1. {smile:2} 怎么不直接弄出来个emlog插件呢
    明浩9年前 (2016-01-18)回复
    • @明浩:不会做插件,能力有限啊!
      ipve9年前 (2016-01-20)回复
  2. 感谢楼主給的灵感 {smile:2}
    alen10年前 (2015-08-31)回复
    • @alen:好东西就是分享的
      ipve10年前 (2015-08-31)回复
      • @骑猪看月亮:有好看的样式嘛?我参照威锋的改了个。 {smile:9}
        alen10年前 (2015-08-31)回复
        • @alen:没有其他样式了,就这个你可以自己对照好看的改
          ipve10年前 (2015-09-01)回复
  3. 博主能给个emlog论坛的邀请吗?谢谢我打算从PJblog换emlog,
    5ijoy10年前 (2015-05-09)回复
    • @5ijoy:最近上班太忙一直没顾上回复,我论坛级别还不是很高,没得邀请码啊
      ipve10年前 (2015-05-13)回复
  4. http://7xinvl.com1.z0.glb.clouddn.com/U~DPX3O_H]}`G)CRWZ%25%25BFE.png 可能我没表达明白,就是我收到别人的评论 邮件样式是这样的,怎么改啊
    过路人博客10年前 (2015-05-07)回复
  5. 是我放置文件的问题吗?为什么我照你说的放进去还是原来的样式?插件版本是3.8的 看到请务必回复下 谢谢
    过路人博客10年前 (2015-05-06)回复
    • @过路人博客:我的也是3.8的,你就按上面的改应该不会出问题的,你看下改的地方对吗?
      ipve10年前 (2015-05-07)回复
      • @骑猪看月亮:可以留个QQ吗?在线请教一下,有点小小的问题不知道怎么解决QQ 764018154
        过路人博客10年前 (2015-05-07)回复
        • @过路人博客:我刚才看了下,文件名应该是kl_sendmail.php,文件放在content\plugins\kl_sendmail目录下
          ipve10年前 (2015-05-07)回复
          • @骑猪看月亮:那个搞出来了,主要是样式问题,别人收到邮件是您的样式,我收到别人的评论,样式却是自带的。。。
            过路人博客10年前 (2015-05-07)
  6. 不错不错,貌似官网现在有两款sendmail插件,不过还是喜欢这款
    迷糊小侠10年前 (2015-02-11)回复
    • @迷糊小侠:{smile:22} 看下邮件样式
      迷糊小侠10年前 (2015-02-11)回复
    • @迷糊小侠:最近工作有点忙,企业邮箱出了点问题,结果邮件不能自动发了,你现在可以看看是啥样
      ipve10年前 (2015-02-11)回复