现阶段,短信的应用主要就是用来验证下手机号是否是正常的手机号。只要涉及到用户手机号的问题的时候,都会作短信验证码来验证下改手机号是不是正常手机号。接下来就是操做步骤。php
首先要在阿里云帐号上开通短信功能 而后再设置本身的签名 和短信模板html
先导入阿里短信包,连接:https://pan.baidu.com/s/1WzYi313LCvCvgbrE2DAJZg 提取码:mqhe 数据库
将下载下来的文件解压以后放在 extend文件夹中,接下来在 application/common.php中添加公共方法 方法以下:json
1 <?php 2 use OSS\OssClient; 3 use OSS\Core\OssException; 4 use Aliyun\Core\Config; 5 use Aliyun\Core\Profile\DefaultProfile; 6 use Aliyun\Core\DefaultAcsClient; 7 use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest; 8 9 /** 10 * 短信发送 11 * @param $to 接收人 12 * @param $model 短信模板ID 13 * @param $code 短信验证码 14 * @return json 15 * @ 16 */ 17 function send_sms($to, $model, $code) 18 { 19 require_once './extend/alisms/vendor/autoload.php'; 20 Config::load(); //加载区域结点配置 21 $config = '根据你的实际状况读取配置文件或读取数据库,本项目是将配置写入数据库实现'; 22 $accessKeyId = '本身的accessKeyId'; 23 $accessKeySecret = '本身的秘钥'; 24 $templateParam = $code; 25 //短信签名 26 $signName = '填写本身的短信签名'; 27 //短信模板ID 28 switch ($model) { 29 case 1: 30 $templateCode = '阿里云中的短信模板编号'; // 注册登陆短信验证码模板 31 break; 32 case 2: 33 $templateCode = $config['model_code_reset']; // 重置密码短信验证码模板 34 break; 35 } 36 //短信API产品名(短信产品名固定,无需修改) 37 $product = "Dysmsapi"; 38 //短信API产品域名(接口地址固定,无需修改) 39 $domain = "dysmsapi.aliyuncs.com"; 40 //暂时不支持多Region(目前仅支持cn-hangzhou请勿修改) 41 $region = "cn-hangzhou"; 42 // 初始化用户Profile实例 43 $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret); 44 // 增长服务结点 45 DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain); 46 // 初始化AcsClient用于发起请求 47 $acsClient = new DefaultAcsClient($profile); 48 // 初始化SendSmsRequest实例用于设置发送短信的参数 49 $request = new SendSmsRequest(); 50 // 必填,设置雉短信接收号码 51 $request->setPhoneNumbers($to); 52 // 必填,设置签名名称 53 $request->setSignName($signName); 54 // 必填,设置模板CODE 55 $request->setTemplateCode($templateCode); 56 // 可选,设置模板参数 57 if ($templateParam) { 58 $request->setTemplateParam(json_encode($templateParam)); 59 } 60 //发起访问请求 61 $acsResponse = $acsClient->getAcsResponse($request); 62 //返回请求结果 63 $result = json_decode(json_encode($acsResponse), true); 64 // 具体返回值参考文档:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FK 65 return $result; 66 }
而后在本身的方法中直接调用这个方法就好了api
代码以下:app
$send = send_sms('手机号', 1, ['code'=>'验证码']); if($send['Message'] != 'OK'){ echo '发送失败'; }else{ echo '发送成功'; }
说明: 上面的验证码的值最好是可变的 随机的dom
1 $code = rand(100000,999999);
这样阿里云的短信接口就作好了 能够发短信 接收短信了ui