喜讯:本站及其本人管理的使用WordPress搭建的站点可以开启评论回复发邮件提醒功能啦!
本来对访客的评论回复进行发邮件提醒是一个提高访客黏度和是评论者能及时知道你的答复的一个好功能,但是也是其中一种暴露网站IP的途径。虽然可以使用SMTP但是还是会暴露或者可以使用代理来隐藏主要IP的目的然而我不会。
在2017年底我就有自写个发件API来隐藏主IP的目的,当时还打算使用Python来解决后期又想通过PHP搭建以减少搭建Python Web的麻烦。但是一直在WordPress这里止步不前,不知到是通过修改代码还是使用插件的形式来解决。直接修改代码怕在后期的版本升级中会导致代码被覆盖掉,使用插件在当时没有考虑到这一步。
恰逢几日前我又有了这一打算而在网上不断寻找解决方法,功夫不负有心人在几番寻找过后在其他博客上找到了一个方法。不过其在版本修改中使用的是sendcloud的API,虽然我可以去注册一个sendcloud的账号来使用(说起sendcloud我在15还是16年也有过了解当时也是为了隐藏站点IP而寻找的),但是我在几天前我在一直续费中购买了阿里云的邮件推送资源包(¥1.00,不知道在不在里面了。1000封也不知道能用多久,不过有免费的)而打算使用这个试试看。
这不在今天凌晨的折腾中终于基于他人的代码修改了使用邮件推送API来发信的插件了。虽然是基于别人的插件修改的难度不高但是对于我这个不是学习PHP的来说还是有一些难度的。在修改期间遇到了include_once 'aliyun-php-sdk-core/Config.php';use Dm\Request\V20151123 as Dm;
不能放在函数里面的错误,这个还是比较容易发现的因为启用插件时就告诉我那行错误了。后面的才难发现了,我第一次测试时竟然没有把$response = $client->getAcsResponse($request);
加进去导致连执行都没有执行,后来由于我把使用变量由对改错了还导致全站500了。在第五次测试时因为我取消了刚开始加上去的异常捕捉的注释的得知是InvalidBodyThe specified textBody or htmlBody is wrongly formed.
从而修改后能成功使用了。
原来不止aliyun-php-sdk-dm
要上传aliyun-php-sdk-core
也要的。
可是最后虽然能成功使用了,但是我在测试时发现邮件进入到了“广告邮件”文件夹,可能是邮件服务器IP或者我设置的原因。目前我没有发现会暴露站点IP,同时也不知到使用邮件推送的SMTP方式好不好暴露站点IP。
后期我可以自写发件API了,同时也将目前所使用的进行一定的修改,其中为了账号安全也打算将Access Key改用访问控制设置的只能使用单一功能的。发信域名可能、或许、大概也会改一下吧。
其实使用搜狐的sendcloud和使用阿里云的邮件推送在资费上没有多大的差别,所以想使用哪个就使用哪个都可以有免费额度。
参考:
https://www.phpsong.com/1851.html
https://help.aliyun.com/document_detail/29460.html?spm=5176.doc53256.6.583.LxTVTV
不知道要到何时才能有自己独立开发的程序或者代码????
超越自我吧
2017年1月22日