使用SendCloud发送评论邮件提醒

之前是用SMTP发送评论回复的邮件提醒,感觉还不错。自带的邮件功能要么被禁用、要么显示代发,很容易进垃圾邮件。用SMTP的话,如果设置好域名的spf记录,就不会被判定为伪造邮件了,当然不是所有的邮件服务商在收信时都会检查这个的。

最近登录了使用的QQ域名邮箱,发现近期的很多回复都没有发送邮件。因为目前使用的恒创主机,若要使用SMTP发邮件,需要提交工单,将所用SMTP服务器的IP加入白名单,偶尔出现发送失败的问题是因为QQ的SMTP服务器对应很多IP,而之前的白名单未能包含所有的IP。不过目前客服已经回复,说将所有IP加入白名单了。其实之前的工单里我就提过SMTP包含很多IP,只是他们可能一直一个一个地加的~毕竟IP列表有变化的可能,所以靠人工加白名单还是有可能出问题的。

浏览张戈的博客时无意看到了他介绍SendCloud,搜狐的产品,添加自定义域名之后,可以设置spf和DKIM记录,更容易通过邮件的真实性校验。然后仅仅需要一个API即可发送邮件,这就避免了白名单的问题。

不过为了避免垃圾邮件的发送,SendCloud需要审核模板,只有符合模板的邮件才会发送出去,所以需要先把邮件的内容改成模板,变量使用“%xxx%”的形式代替,然后调用API时带上对应的参数以及所用模板的名称,这样每次仅需要传送变量而不是整封邮件内容,数据量更少。

免费用户,多了一个不可取消的功能,那就是退订链接。之前,您不想收到我的邮件提醒,把地址拉黑即可,现在只需要点击退订链接,反而更方便了。如果模板里没有提及,退订链接默认加到最后;如果想修改,可以在模板中加入自定义的退订链接,不过href地址要用“%%user_defined_unsubscribe_link%%”代替,系统会自动替换。个人觉得这个功能还是挺好的,后台还可以管理退订列表,所以我并没有尝试加入display属性隐藏这个链接,也不知道审核时会不会允许~

至于代码,很简单,官方有示例的。我选择了curl发送,模板发送对应的的一些参数在这里,重点就是模板里面的变量通过“substitution_vars”提交,里面同时包含收件人to,所以to这个参数不要单独设置了。提交自己的模板,替换变量,然后把原来SMTP的函数换成这个,再“add_action(‘comment_post’,’send_mail’);”就好了。

随便看看

本文共有41条评论

  1. 老哥,梦幻辰风暂时备案啦。为了您的SEO,您可以暂时下了链接。嘿嘿,目前备用站冰诺bingnuo点org暂时是博客小屋。欢迎再见博客小屋。

      1. 我也不明白,就是评论回复后发邮件告知对方,今早中午还能登陆后台,看到只有2封邮件因为地址无效无法送达,到了晚上就收到邮件说账号被冻结了。明天问问客服看看是否可以解封

你好,哪位? 填写