阿里云验证短信发送类
功能描述
使用阿里云验证短信发送接口,实现验证码短信发送功能;
类名称
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