阿里云验证短信发送类

功能描述

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

类名称

aliPhoneMsg

相关函数

构造函数

public function __construct($accessKeyId, $accessKeySecret){
    $this->accessKeyId     = $accessKeyId;
    $this->accessKeySecret = $accessKeySecret;
}

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

sendMsg 消息发送函数

/**
 * 功能 : 发送短信
 * 参数 : 
 * @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 数据表,数据表创建命令 : 

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;

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

演示代码

<?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 执行命令行直接下载到目录里 

curl -O http://liukuaizhuan.gitee.io/phpgracemanual/工具/阿里云短信接口/aliPhoneMsg.php