前不久公司要求网站预约页面在客户预约成功后立即推送邮件给相关工作人员。 为了完成邮件发送功能,试了下开源框架PHPMailer,但效果非常不理想,发信时间9秒左右,达不到要求。 于是百度寻找第三方API邮件推送,第一个出现的事阿里云,毕竟大品牌,信得过,就注册了阿里云账号,并开通了邮件推送服务。 第一步:配置发信域名 新建域名,按照下方提示操作即可。
第二步:配置发信地址 配置中也可以写上回信地址
新建发信地址中的发信类型有两种:批量邮件和触发邮件(API触发)。 这两步配置好后,接下来就是按照阿里云的指导文档编写API了。 看了文档,发现JAVA版的请求示例有现成的,没有PHP版本的,就只有自己来写了。 编写过程中需要按照文档要求来:请求结构、公共参数、签名机制,其中签名机制稍微要难理解些。
人感觉逻辑稍微有点复杂,如果看不懂文字的话就按照JAVA版的示例逻辑来写。 获取AccessKeys:
现在开始编写代码,写一个邮件发送类:
1)将固定参数写到构造函数里:
2)签名DEMO:
3)使用UTF-8字符集进行URL编码:
4)得到UTC时间戳:
5)获得唯一随机数:
6)获取签名第一步的请求URL字符串,供制作签名和生成请求URL使用:
7)得到签名:
8)获得带签名的最终的请求URL:
9)普通单发函数:
10)URL请求执行函数:
11)最终上线测试时,阿里云API发信速度很快,时间1秒左右,目前非常稳定:
最后大家有邮件推送需求的可以试试阿里云邮件推送服务。
标签:阿里云 邮件推送 PHP API 邮件推送API aliyun
发表评论