阿里云验证短信发送类

功能描述

使用阿里云验证短信发送接口,实现验证码短信发送功能;

类名称

aliPhoneMsg

相关函数

构造函数

Code phpLine:4复制
  • 1.
  • 2.
  • 3.
  • 4.
    • public function __construct($accessKeyId, $accessKeySecret){
    • $this->accessKeyId = $accessKeyId;
    • $this->accessKeySecret = $accessKeySecret;
    • }

    构造函数需要传递2个参数 :
    1 accessKeyId 阿里账户中心获取;
    2 accessKeySecret 阿里账户中心获取

    sendMsg 消息发送函数

    Code phpLine:9复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    • /**
    • * 功能 : 发送短信
    • * 参数 :
    • * @param $phoneNumber 接收手机号
    • * @param $SignName 短信签名 阿里云管理中心【短信服务】获取,如: "阿里云短信测试专用"
    • * @param $TemplateCode 短信模板 id 阿里云管理中心【短信服务】获取
    • * @param $TemplateParam 模板变量,数组形式根据模板信息设置
    • * @return [ status, msg, errorCode ] [ 发送结果 true||false, 结果信息文本, 错误编码 ]
    • *

    ip 发送短信次数控制

    aliPhoneMsg 类内置了某个 ip 每天发送短信数量的限制,默认每个 IP 每天发送 20 次;
    可以通过 aliPhoneMsg对象->maxSendNumber = 限制数量; 的方式修改;
    次功能依赖 grace_send_phone_msg_rec 数据表,数据表创建命令 : 

    Code phpLine:5复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
    • CREATE TABLE `grace_send_phone_msg_rec` (
    • `dateandip` varchar(30) NOT NULL,
    • `num` tinyint(4) DEFAULT '0',
    • PRIMARY KEY (`dateandip`)
    • ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

    创建好数据表后,类库会自动完成数据记录工作。

    演示代码

    Code phpLine:16复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    • <?php
    • class indexController extends grace{
    • public function index(){
    • $phoneNumber = '181*******8'; // 发送手机号
    • $SignName = '阿里云短信测试专用'; // 短信模板签名
    • $TemplateCode = 'SMS_8****8'; // 短信模板编号
    • $yzm = mt_rand(111111, 999999); // 模拟一个数字验证码
    • $msger = new \phpGrace\tools\aliPhoneMsg(
    • '******', // 阿里云 accessKeyId
    • '******' // 阿里云 accessKeySecret
    • );
    • $TemplateParam = array('code' => $yzm);
    • $res = $msger->sendMsg($phoneNumber, $SignName, $TemplateCode, $TemplateParam);
    • p($res, true);
    • }
    • }

    下载地址

    mac 系统环境 可以在编辑器的tools目录下通过 Terminal 执行命令行直接下载到目录里 

    Code bashLine:1复制
  • 1.
    • curl -O http://liukuaizhuan.gitee.io/phpgracemanual/工具/阿里云短信接口/aliPhoneMsg.php