网站建设

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

Jager · 6月6日 · 2015年 · 9784次已读

还是几个月前,中国博客联盟的晓风依然博主QQ联系我,说发现WordPress评论回复邮件存在一个巨大的风险:WordPress评论回复邮件,不管是使用SMTP代发还是用Sendmail发送,都会暴露网站主机的真实IP!

经过我亲自验证,发现的确存在这个令人担忧的问题!但是,一时之间并没有合适的解决方案,所以我和他都一致认为在没有找到替代方案之前,这个东西不能曝光!就算有部分人已经知道了,但还是不能明晃晃的摆到台面上来公布于众!

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

接下来的几个月,张戈一直在新公司持续高强度的工作,根本没有闲暇时间来研究替代方案!可惜让我担忧的事情最终还是发生了:幻杀博客的博主小幻在博客公布了这个会泄漏IP的“BUG”,却没有分享解决方案!我除了感叹出身牛犊不怕虎之外,也只能无奈加紧步伐,尽快找到替代方案。

一、如何泄漏

看过幻杀博客的文章的朋友应该已经知道是怎么一回事了。就是当我们的网站通过SMTP代发或者php调用SendMail来发邮件通知评论者时,我们发送过去的邮件原文中将带有我们主机的真实IP!!如果被人恶意利用,我们的CDN防护都将变得毫无意义(点此查看个人网站暴漏真实IP的危害)!

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

最新补充:果然,在乌云上早就有朋友发过这个漏洞了,感兴趣的童鞋可以前往看看:《某方法可以无视CDN查找真实IP导致真实站点遭受DDOS或入侵

二、解决方案

①、自建API

既然不能使用SMTP代发,又不能使用 SendMail,那就只有一个办法了:用第三方API代发邮件即可,就算暴露IP也是暴露了邮件服务器的IP,和我们的小站没有任何关系。

本来我是想在 SAE 搭建一个邮件代发API,后来想到了中国博客联盟那么多的邮件模板,而自己空闲时间确实太少,只好先放弃了。

A. 小幻版本

小幻被我吐槽之后,说去研究下自建邮件API服务,目前已在他博客分享了一个自建的邮件代发API,感兴趣的朋友可以前往查看:《使用邮件代发API发送回复邮件提醒

不得不说这家伙确实是一个很赞的高中技术宅(再次汗颜下自己高中时还只会玩QQ)。

B. SAE版本

小武这个技术宅,为了解决评论显示代发,导致变成垃圾邮件问题,在SAE搭建了一个邮件API,而且是专门给WordPress 评论回复用的,感兴趣的朋友可以去了解一下:《通过新浪SAE发送wordpress评论提醒邮件

②、SendCloud

写到这,本文主角终于姗姗来迟。

SendCloud由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的API接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据[1] 。主要提供两种类型的邮件发送服务,一类是事务性邮件,一类是商务性邮件。 ——摘自百度百科

SendCloud我目前的公司也在使用,而且我也曾写过关于SendCloud的堵塞监控脚本:SendCloud邮件队列状态和已使用额度的Python监控脚本

感兴趣的可以前往一探究竟。这玩意如何牛逼,如何高大上我就不说了。简单的说就是一个邮件代发服务,比上面介绍的自建API更加完善,当然使用也更加复杂,希望看完本文的朋友可以成功集成到WordPress当中。

三、动手集成

①、注册帐号

如何注册就不赘述了,官网地址:http://sendcloud.sohu.com/

②、域名设置

邮件设置==>域名==>新增发信域名

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险
WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

完成后,进入域名设置,按照提示到你的DNS解析控制台新增必须的几个记录:

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

下面还有一个收信配置,也是一个必配项:

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

Ps:不过这里有一个技巧,上图可以很明显的看到,我现有的记录值是2个,一个sendcloud,一个是QQ的域名邮箱。因为,我不是很想用Sendloud的转发功能,而是想继续用之前就配好的QQ域名邮箱。这里该如何实现呢?很简单,在DNS解析那新建2个MX记录,然后将QQ域名的MX优先级设置更小即可!

下面是张戈博客的相关DNS设置,不会的可以参考下:

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

设置好了之后,可以点击右上角的【检测配置】来探测是否生效。这个生效时间长短不一,咱们先继续做后面的设置。

最新补充:其实如果你的网站要用其他域名邮箱或企业邮箱,那么只要在Sencloud域名验证后将MX记录改为相应的域名邮箱或企业邮箱记录即可!比如张戈博客要用QQ的域名邮箱,那么就将上图中的sendcloud的MX记录删除,只保留QQ邮箱的MX记录就好了。并不影响 sendcloud 发信,因为这个MX记录只是用于收信,而最爽的是QQ邮箱那边依然可以用域名邮箱发信!

③、获取api_user和api_key

登录后,就会获得帐号专属的API_KEY,当然如果你忘记了也可以使用会员首页的重置功能。

接着点击上方的【邮件设置】==>【Api_user】,来创建新的API_KEY备用:

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

④、邮件样本

Ps:目前已和邮件模板合并,请直接跳过这一步!

Sendloud 为了避免有人恶意发送垃圾邮件,就推出了这个审核机制,所有邮件代发都必须先通过样本校验。貌似是要达到80%以上的匹配率才会给你发出去,否则就返回不匹配错误。

官方给出的注意事项:

注意事项:
1、为避免不良信息传播,用户在发送邮件前,需提交样本审核,真实发送的邮件内容会和样本进行匹配。
2、邮件样本可以是具体的某一封邮件,也可以是带有变量的邮件模板。
3、审核时间:工作日(周一至周五9:00-18:00)一小时以内审核;非工作日上午和下午定时审核一次。

这算是整个流程中比较麻烦的一步,不过大家完全不用担心,因为张戈都已经写好了模板:

Ps:和下面的邮件模板代码一样,就不重复粘贴了!

点击【发送相关】==>【邮件样本】==>【创建样本】==>参考下图填写好上方栏位==>切换到【源码模式】==>粘贴上面的代码==>提交审核即可

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

当然, 我们可以根据需求提交多个模板,不过一般WP就评论回复通知用的最多,其他自己研究吧!

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

⑤、邮件模板

看到这,估计大伙要骂娘了。。。刚弄了一个邮件样本,又要弄邮件模板!当然,我们是可以直接post整个邮件内容到Sendloud,但是并不是强迫症所向往的,我们追求的是极致,因为使用模板发送只要post模板中的几个变量即可。

废话不说,点击【发送相关】==>【邮件模板】===>【创建模板】

和上面的邮件样本一样,将以下代码粘贴到源码模式保存即可:

<style type="text/css">blockquote{
width: 94%;
color: #8b8b8b;
margin: 0 auto;
padding: 10px;
clear: both;
border: 1px solid #ebebeb;
}
</style>
<table cellpadding="0" cellspacing="0" style="font-family: 微软雅黑,verdana, arial; margin: 0 auto; width: 100%;">
 <tbody>
 <tr>
 <td style="background: #08c; color: #fff; font-family: 微软雅黑,verdana, arial; font-size:15px;line-height: 35px;"><strong>  您在%blogname%的留言有了新的回复:</strong></td>
 </tr>
 <tr>
 <td style="border: solid 1px #ccc; font-size: 13px; line-height: 180%; padding: 20px;"><span style="color: rgb(186, 76, 50); font-family:微软雅黑, verdana, arial; line-height: 23.3999996185303px;">%comment_author1%</span>, 您好!
 <p>您曾在<span style="color:#ba4c32;">《%conent_title%》</span>的留言:</p>
                <blockquote>
 <p>%comment_content1%</p>
 </blockquote>
                <p><span style="color:#ba4c32;">%comment_author2%</span> 给你的回复:</p>
                <blockquote>
 <p>%comment_content2%</p>
 </blockquote>
 <p style="padding: 5px;">您可以点此 <a href="%comment_link%">查看完整回复內容</a></p>
 <p style="padding: 5px;">欢迎您再度光临 <a href="%home_url%" target="_blank" title="%description%">%blogname%</a>!</p>
 </td>
 </tr>
 <tr>
 <td style="color: rgb(255, 255, 255); font-size: 12px; line-height: 21.6000003814697px; padding: 10px; background: rgb(51, 51, 51);">请注意:此邮件由 <a href="%home_url%" target="_blank" title="%description%">%blogname%</a> 自动发送,请勿直接回复。<br />如果此邮件不是您请求的,请忽略并删除!</td>
          </tr>
 </tbody>
</table>
<p><a href="%%user_defined_unsubscribe_link%%" style="background: #1ABC9C;border:1px solid #13A386;padding:8px 20px;color: #fff;text-decoration:none;border-radius:4px">不想再收到此类邮件</a></p>

调用名称推荐使用字母:

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

这里就不用审核了,但是注意这个模板在邮件样本中必须存在匹配的样本,否则无法发出去。

⑥、PHP函数

唉,张戈折腾一上午,分享出来几分钟!代码如下:

/**
** WordPress集成Sendloud邮件代发函数
** 原创地址:https://zhang.ge/5045.html
** Ps:转载不保留出处 and 篡改版权的都木有小JJ。
**/
function SendCloud_mail($from,$fromname,$to,$subject,$message,$template) {
    $api_user = "这里填写sendcloud的app_user"; //注意保留英文双引号!
    $api_key = "这里填写Sendloud的api_key";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_URL, 'http://sendcloud.sohu.com/webapi/mail.send_template.json');
    $substitution_vars  = json_encode(array('to' => array($to),'sub' => $message));
    $data = array(
        'api_user' => $api_user,
        'api_key' => $api_key,
        'from' => $from,
        'fromname' => $fromname,
        'template_invoke_name'=> $template,
        'subject' => $subject,
        'substitution_vars'=> $substitution_vars
        );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = curl_exec($ch);
    if($result === false) {
        echo curl_error($ch);
    }
    curl_close($ch);
    return $result;
}
//下面是修改版的WordPress发邮件代码(支持嵌套评论邮件)
//适用于Sendloud,你们看张戈多厚道,任何时候都保留出处,不像某些小人!

/* 邮件通知 by Qiqiboy */
function comment_SendCloudMail_notify($comment_id) {
     $comment = get_comment($comment_id);//根据id获取这条评论相关数据
     $comment_approved=$comment->comment_approved;
     if ($comment_approved != 1) { return; }  
     $content=$comment->comment_content;
     //对评论内容进行匹配
     $match_count=preg_match_all('/<a href="#comment-([0-9]+)?" rel="nofollow">/si',$content,$matchs);
     if($match_count>0){ //如果匹配到了
         foreach($matchs[1] as $parent_id){//对每个子匹配都进行邮件发送操作
             SimPaled_send_email($parent_id,$comment);
         }
     } elseif ($comment->comment_parent!='0'){//以防万一,有人故意删了@回复,还可以通过查找父级评论id来确定邮件发送对象
         $parent_id=$comment->comment_parent;
         SimPaled_send_email($parent_id,$comment);
     } else return;
 }
add_action('comment_post', 'comment_SendCloudMail_notify');

function SimPaled_send_email($parent_id,$comment){//发送邮件的函数 by Qiqiboy.com
     $admin_email = get_bloginfo ('admin_email');//管理员邮箱
     $parent_comment=get_comment($parent_id);//获取被回复人(或叫父级评论)相关信息
     $author_email=$comment->comment_author_email;//评论人邮箱
     $to = trim($parent_comment->comment_author_email);//被回复人邮箱
     $spam_confirmed = $comment->comment_approved;
     if ($spam_confirmed != 'spam' && $to != $admin_email && $to != $author_email) {
         $wp_email = '[email protected]' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail 發出點, no-reply 可改為可用的 e-mail.
         $subject = '您在 [' . get_option("blogname") . '] 的留言有了新的回复!';
         $fromname = get_option('blogname');
         $message = array(
                "%conent_title%"=>array(get_the_title($comment->comment_post_ID)),
                "%comment_content1%"=>array(trim(get_comment($parent_id)->comment_content)),
                "%comment_content2%"=>array(trim($comment->comment_content)),
                "%comment_author1%"=>array(trim(get_comment($parent_id)->comment_author)),
                "%comment_author2%"=>array(trim($comment->comment_author)),
                "%comment_link%"=>array(htmlspecialchars(get_comment_link($parent_id,array("type" => "all")))),
                "%blogname%"=>array(get_option('blogname')),
                "%description%"=>array(get_bloginfo('description')),
                "%home_url%"=>array(get_option('home'))
                );
        if( $to != '' && is_email($to)){
           SendCloud_mail( $wp_email, $fromname, $to, $subject, $message, '此处请修改为模板调用名称');
        }
     }
 }

将以上代码添加到主题目录的functions.php当中即可,放哪个位置我就不再阐述了,这都搞不清估计也玩不转这种折腾活了。

⑦、系统邮件(可选)

什么叫系统邮件?就是有人在你博客留言了,或者有评论需要审核,WordPress是可以设置邮件提醒的,这里需要用到wp_mail函数。但是我懒得将这个功能也用Sendloud来代发,一是麻烦,二是发给管理员的,泄漏IP又如何?

所以,之前如果已经弄过SMTP,可以保留如下代码,让系统继续使用SMTP发邮件给管理员:

//使用smtp发送邮件,代码中使用的是QQ邮箱,你可以参照你使用的邮箱具体设置SMTP   
add_action('phpmailer_init', 'mail_smtp');   
function mail_smtp( $phpmailer ) {   
    $phpmailer->FromName = 'XX博客'; //发件人   
    $phpmailer->Host = 'smtp.qq.com'; //修改为你使用的SMTP服务器   
    $phpmailer->Port = 25; //SMTP端口   
    $phpmailer->Username = '[email protected]'; //邮箱账户      
    $phpmailer->Password = 'password'; //邮箱密码   
    $phpmailer->From = '[email protected]'; //你的邮箱      
    $phpmailer->SMTPAuth = true;      
    $phpmailer->SMTPSecure = ''; //tls or ssl (port=25留空,465为ssl)   
    $phpmailer->IsSMTP();   
}

但是如果之前已经添加过评论回复邮件通知代码的的,请注意注释掉,否则之前的代码可能还会继续工作,泄漏IP,一般在functions.php里面添加如下代码即可:

//移除原有的邮件通知动作钩子(一般都是用的comment_mail_notify这个函数,自己注意辨别)
remove_action('comment_post', 'comment_mail_notify');

四、效果预览

目前张戈已经使用了一个多月了,非常稳定。免费用户每天可以发送200封邮件,这已经足够应付绝大部分个人博客了!

WordPress集成SendCloud邮件代发,规避SMTP泄漏网站主机真实IP的风险

Ps:如图,最看不起那些乱填邮件的人!要么就灌水,要么就是找茬的。而且经常对SendCloud请求一些无效邮件,将会降低帐号的信誉度,影响以后的发送成功率。

很多人看到本文肯定会望而却步,因为确实弄起来比较复杂,也比较麻烦!但是,张戈作为吃螃蟹的都已经分享出来了,你还嫌麻烦?

这篇文章又花了我4个多小时!未经允许,谢绝转载,谢谢合作!

93 条回应
  1. 小武2015-6-8 · 9:33

    收到了pingback通知…果断来火钳刘明 😀

    • Jager2015-6-8 · 9:34

      火钳刘明是什么典故?

      • 小武2015-6-8 · 9:37

        看来你除了钻研运维和开发技术以外,也不给自己开小差. . . 贴吧都不去吗?

        "火钳刘明".equal('火前留名') == true
        • Jager2015-6-8 · 10:07

          😕 还真没有混贴吧的习惯。。。
          这东西太复杂,要火太难。。。
          昨天才知道,其实SendCloud早就有了WP插件,可惜用的SMTP服务,我同事已经开发了sendcloud模板发送的WP插件,不过还没时间润色润色。。

          • wendingding2015-6-9 · 23:22

            以火箭的速度留名啊。哈哈

          • 奇营销强子2015-7-4 · 22:37

            期待张哥分享啊

  2. wendingding2015-6-9 · 23:21

    小哥哥,赞一个!加班别太晚啊。坏笑一个。

    • Jager2015-6-10 · 12:52

      原来是勇哥 :mrgreen:

  3. 超級efly2015-6-10 · 10:58

    前來支持一下~~
    签到成功!签到时间:上午10:56:51,每日签到,生活更精彩哦~

    • Youth.霖2015-7-23 · 16:45

      这是有时差几分钟吗

  4. 胡歌网摘2015-6-14 · 11:59

    原来你之前说的大bug是这个,这个我很早(N年)前就知道了,去年好像在wpdx还是v7v3也看到有人在评论里面讨论了,很多人就是vps/空间直连,根本没什么cdn之类的,小站无所谓啦。

    • Jager2015-6-14 · 14:28

      你这心态就不行,虽然是小站,但无聊的人太多了,比如经常有人CC测试我的博客。
      你们很早知道了(N年很久远的感觉,我接触建站才1年多),但是没有想办法去解决,又有什么用呢?我至少还给出了2种解决方案,你们可以不在意这个,我也没办法,但总是有人在意的,至少我自己已经用上了。还是那句话,觉得没意义的话,就换一篇文章看看吧。

  5. 胡歌网摘2015-6-14 · 15:10

    哈哈主要是我网站没什么名气现在还没人来搞,等有人搞了再来用上吧。
    你文章的质量是没的说。
    之前我也搞过类似的防御措施,方法比较简单,找个美国的免空,然后网站发邮件就请求这个免空上面的stmp,然后它再连接google邮局发信。 可能和你文章里面提到的api方法差不多吧(没看他们的文章)

    • JACK的机器人2015-6-16 · 20:28

      我最近都被搞了,真是莫名其妙啊

  6. JACK的机器人2015-6-16 · 16:07

    张兄,我有个疑问,要获取IP直接ping网址就出来了,这样的话,邮件代发也没啥意义啊

    • Jager2015-6-16 · 18:57

      你ping我的域名,得到的是百度云加速的IP。

      • Youth.霖2015-7-23 · 16:46

        那我们这种裸奔不用cdn的呢(-。-;)

  7. 小幻2015-6-18 · 10:07

    咿呀呀,我只是一个准高中党,录取通知书还没下来呢。
    真希望,马上录取通知书揪下来~~~ 😳 😳 😳

  8. 小残博客2015-6-27 · 7:55

    代码加入functions.php后打开网站显示一片空白

    • Jager2015-6-29 · 8:14

      代码有个符号弄成了全角,已更正。

  9. 软件海2015-6-27 · 18:42

    张大仙,赞一个,正巧想要配置个评论回复通知,就看到你这篇文章了。
    有个小问题

    $wp_email = '[email protected]' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail 發出點, no-reply 可改為可用的 e-mail.

    我不太明白这行代码的意思,比如我把no-reply改成xiaohai,那么我的发件人地址是不是就会变成[email protected]呢?那么这个no-reply是想怎么改就怎么改吗?

    • Jager2015-6-29 · 8:14

      这个只是邮件显示的发件人,可自定义。

  10. 软件海2015-6-27 · 18:54

    另外,functions里有一行注释格式写错了

    $comment = get_comment($comment_id);//根据id获取这条评论相关数据

    这个注释的双斜杠你弄成大写的了,如果不改正的话网站就白屏了。

    • Jager2015-6-29 · 8:13

      确实。。。已更正。

  11. 西贝博客2015-6-28 · 9:32

    纯技术活儿啊。

  12. 奇营销强子2015-7-3 · 11:41

    sendcloud 确实不错,我们之前也用过,之前还想过有没有人能开发个WP插件,直接集成进去,这样就可以在博客上直接挂个订阅框,然后再增加个功能,就是方式在博客评论留言过的,直邮留下过邮箱地址的,以后博客有重大更新内容后就可以一键群发推送给曾经在博客流过邮箱的用户,这个也不违背 sedncloud 的规则,算是会员邮件群发推送更新。知乎和搜外等平台都是这么使用的。不只张哥有没有这个想法,哈哈!

    • Jager2015-7-3 · 12:31

      你的想法很好,不过Sendcloud已经开发插件了,你说的功能它都有,不过还不完善,等完善了我再分享一下。

      • 奇营销强子2015-7-4 · 22:11

        已经有 WordPress 插件了了吗?

        • Jager2015-7-23 · 19:18

          有,不过BUG不少

  13. LookBack2015-7-11 · 16:38

    我拉试试
    签到成功!签到时间:下午4:35:19,每日签到,生活更精彩哦~

  14. World2015-7-14 · 9:54

    必须赞一个 :mrgreen:

  15. 微饭2015-7-17 · 21:00

    能人越来越多了~~~

  16. zone2015-7-28 · 11:18

    签到成功!签到时间:上午11:17:54,每日签到,生活更精彩哦~

  17. 我的神2015-9-1 · 15:28

    写的不错!

  18. 灰常记忆2015-9-3 · 14:49

    的确是技术活~ 折腾不了,我还是继续STMP~

  19. 随云飘2015-9-4 · 19:37

    请问博主, 这个只是评论回复的通知吧, 如果是注册成功发送出去的邮件, 要怎么添加到function里面呢.

  20. 帅气小琦琦2015-9-22 · 21:07

    小站点来说的的话,可能不会注重这些,但是随着时间推移,数据越来越多,这个问题会引起重视

  21. boke112导航2015-10-19 · 20:49

    我今天下午看本站的评论回复提醒邮件,确实会泄露服务器IP,已根据文章的教程集成到WordPress了,可惜到18点时有修改了模板,过了18点就不审核了,现在模板不审核不给发信了,明天再试试。PS:不知道是否可以让boke112导航分享集成到WordPress的教程?

    • Jager2015-10-21 · 8:36

      这篇文章本来大家就应该多多宣传,让更多人知道。
      不过,你现在宣传也就把你不久前的邮件IP给暴露了。。。

      • boke112导航2015-12-2 · 14:46

        我就是boke112导航用了这种方法发邮件,其他的就懒得折腾了。

  22. 微页网站分类目录2015-10-29 · 22:42

    SendCloud很牛逼的样子

  23. 智能家居2015-10-30 · 14:44

    我只能说很厉害

  24. 黎叔2015-11-5 · 22:11

    这个可以一试

  25. 楚书业2015-12-27 · 11:22

    不看不知道,一看吓一跳!
    不过我看了下,究根还是出在邮箱商对邮件保护程度。这一块网易做的比QQ邮箱好很多。直接不显示。

    • Jager2015-12-27 · 21:05

      只要是SMTP就会带去源IP,总之这个是个大坑

      • 楚书业2015-12-27 · 21:45

        不懂。我看了之后,用网易邮箱跟QQ邮箱测试了同个站点,发现网易虽然也会显示源ip,但是放得比较隐秘。
        另外,其实这些东西都是防君子用的,对于小人是防不住的。
        要查看网站源ip,最简单的方法直接去爱站网输入对方的域名,就可以看到信息了。
        还是那句话:对于小人怎么防都会想尽办法搞到ip,对于普通人怎么显眼人家也不在意那些信息。

        • Jager2015-12-27 · 23:33

          爱站查出来的和你ping出来的是一样的,一般是CDN的节点,并非源站IP。

          • 楚书业2015-12-27 · 23:53

            嗯,不是很懂这些的。不过倒是可以折腾一下这个。感觉蛮好的!

          • 阿南SEO2019-2-20 · 17:08

            网站开的七牛云的融合CDN,站长工具ping检测还是我的源IP,这个怎么解决会比较好呢?

      • 楚书业2015-12-29 · 0:53

        Jager兄,我突然意识到一个问题,这个邮件代发每天免费200条。如果碰到post暴力破解——动不动就三四百条登录失败的邮件提醒,那岂不是蛋疼了!

        • Jager2015-12-29 · 8:30

          文章说的集成暂时是做到了评论回复那一步,其他登录注册都没做的。我博客也不需要注册,所以没有研究。直接把登录地址改了就行。

  26. leejon2016-1-28 · 11:38

    有个问题问下:如果VPS的文件给出下载路径,网站有CDN,文件下载获取的是绝对IP还是CDN的IP?

    • Jager2016-1-28 · 13:04

      只要链接地址中的域名用到了CDN,那么就是CDN的IP

  27. 包子2016-2-25 · 12:39

    博主,我已经测试成功了,感谢博主的分享!!还有我想问一哈,这个没有评论提醒吗?

  28. al2016-2-29 · 19:17

    本来打算安装sendcloud,后来经测试申请的qq企业邮箱,用smtp模式,用qq的smtp发解决了。
    而且邮件的头文件里的ip是qq的

    • 超越自我吧2016-7-25 · 11:39

      不知道是不是我用的插件有问题还是怎么的。我使用QQ企业邮箱发送也会带有自己的IP。而且我是有hwsmtp节点到自己QQ邮箱十几分钟。

  29. kid2016-3-1 · 10:08

    刚才看了楼上回复,我自己去邮箱看了下之前评论审核通知邮件,确实,用企业邮箱,原文里是企业邮的IP,我觉得像我这种菜鸟,就不折腾了 :mrgreen: ,申请一个阿里免费企业邮,就可以解决这个问题

    • Jager2016-3-1 · 12:41

      回头试下。

      • kid2016-3-1 · 15:03

        不用试了。。。 还是存在 在其他行 = =大意没看仔细 ,我暂时把评论回复邮件去了。

        • al2016-3-3 · 11:08

          确实 我表示我没看清楚 在其他行。。。

  30. Yephy2016-3-1 · 23:09

    Jager,如果用鸟哥的主题的话,是不是要把鸟哥主题文件中的邮件发送给注释掉?!

    • Jager2016-3-2 · 8:20

      注释吧

  31. 电影天堂迅雷下载2016-4-2 · 13:08

    签到成功!签到时间:下午1:03:16,每日签到,生活更精彩哦~

  32. 天天套图吧2016-5-18 · 9:53

    普通小博客可以,稍有人气的200封邮件是很抓襟见肘的。

    • Jager2016-6-4 · 8:11

      每天会回复200封的博客目前还没见过,?卢松松的留言多,但基本都不会回复。评论被回复才发邮件。

  33. 筑楼2016-6-3 · 21:25

    阿里云的 也可以免费发送啊! 是1000封 不比这个更好???

    • Jager2016-6-4 · 8:09

      阿里是写这篇文章之后推出的

  34. asd2016-6-8 · 4:24

    我是直接放给SAE发了,专门发邮件用的SAE,只要不外泄被c,便宜不贵~。
    我是直接修改文件,将wp_mail动作改为file_get_contents。

  35. 后知后觉2016-6-8 · 17:19

    两个问题:邮件发件人提示此地址未验证,请注意识别
    第二 Jager你的通知邮件总是被腾讯标记为广告邮件 👿 不过我的好像没 😛

  36. 大蚂蚁2016-7-15 · 15:59

    博主,为什么我不能添加这个记录:mail._domainkey. 把两个小点去掉就可以添加,但是久久都不能通过配置。

  37. 后知后觉2016-8-27 · 10:57

    我的评论回复好像失效了 不知道怎么回事 本地哒了个测试环境也没反应 comment_post好像没有生效,就最近测试的时候发现的 之前正常 不知道什么原因 😥

  38. Yephy2016-9-10 · 17:00

    Jager,我又来了!用了你这方法是可以,但是网站如果开了注册帐号和密码找回的话,如何让注册和找回邮件也走SednCloud发送啊?!

    • nom2016-10-16 · 17:57

      同问

  39. nuo2016-10-18 · 21:19

    已经用上了,谢谢博主签到成功!签到时间:下午8:32:56,每日签到,生活更精彩哦~

  40. Abner2016-11-25 · 5:44

    这篇软文我给80分!

    • Jager2016-11-25 · 13:39

      我又没好处,怎能算软文?

      • Abner2016-11-25 · 20:24

        哈哈,娱乐一下。主要没见对mailgun还有sendgrid这种国外服务商的评测。

        • Jager2016-11-25 · 22:07

          ❗ 这两样只是了解一点点,没用过,还不具备评测的资本。。

      • Abner2016-11-25 · 20:28

        顺带一提除了首页,其它地方按F12不出欢迎对话么?

        • Jager2016-11-25 · 22:08

          没明白,按F12与欢迎对话?

  41. 小溪2016-12-2 · 3:18

    张哥,我琢磨DZ调用SendCloud隐藏IP好久了,也没成功,看到别人隐藏了IP着急呀!我想问一下,DZ后台使用API_USER发信怎样隐藏IP有啥好方法?

    • Jager2016-12-3 · 15:47

      DZ没用过哦

      • 小溪2016-12-3 · 15:47

        恩啊,好的,谢谢张哥

  42. 强制2017-1-2 · 15:32

    张哥,新博客正合了下这个sendcloud评论回复邮件功能,发现不起作用哈,博客之前只启用了一个wp mail smtp插件,别的也没搞什么,sendcloud的key都没问题。

  43. 厘米2017-1-4 · 21:17

    今天刚用上sendcloud域名就被人拿去发垃圾邮件了,发件人是那人的邮箱,但是下面却显示由 [email protected] 代发。aaa.com是我的域名。请教大佬怎么解决啊?

  44. osx.cx2017-8-13 · 10:33

    请问这个设置适用于找回密码嘛?折腾了一晚上 始终发送不了,解析全部生效,代码已经复制到了functions.php,该修改的函数也已经修改了!begin主题,请问楼主是否还需要修改主题?

    • Jager2017-8-20 · 18:56

      文章中代码不支持密码找回的邮件功能,这个你得自己找资料,看看密码找回具体用到哪个钩子才行

  45. 云落2017-9-8 · 19:32

    蟹蟹,虽然觉得小站无所谓,但是还是用了,另外不知道你的网站代码没法复制,文字可以复制,自己从源代码复制了,替换下好了。另外可以试试国外的mailchimp订阅邮件发送,再另外,我的邮件貌似被你举报了。。。。最后另外,友链不?

    • Jager2017-9-11 · 13:44

      代码复制并没有禁止的。。
      友练已添加,缓存刷新后可以看到。
      邮件。。。是因为我没订阅,但是每天都会主动推送给我,这个有点粗暴了。。 😕

      • 云落2017-9-11 · 15:18

        👿 刚开始用mailchimp,不熟悉设置,现在改为每周推送了,之前是因为发新文章太频繁了。。。。。感觉加了这个打字效果变得以后有点卡了。。

  46. Kiwi 建站笔记2017-11-2 · 20:08

    博主,你好,现在sendcloud 发邮件会直接进入垃圾邮箱,或者标明有AD两个字,有解决办法么?

  47. 笛声2017-11-10 · 20:42

    转载不保留出处 and 篡改版权的都木有小JJ。
    若是女生转载……她们本来就……

  48. 四郎2018-3-15 · 14:34

    请问如果需要发送邮箱激活和找回密码的话,怎么设置模版和后台函数啊,研究了两天了,搞不定……