3贯彻阿里超过短信验证的不二法门,阿里短信服务

手续 1 使用阿里云短信服务正常发短信要求

  • 短信签名
  • 短信模板
  1. 1提请短信签名
      根据用户属性来创设符合自身性质的署名新闻。公司用户必要上传相关集团资质阐明,个人用户须求上传注脚个人身份的印证。
      短信签名须求审核通过后才足以动用。
    澳门葡京备用网址 1
    1.2 申请短信模板
      短信模板,即现实发送的短信内容。短信模板可以辅助验证码、短信布告、推广短信、国际/港澳台信息两种情势。验证码和短信通知,通过变量替换完毕个性短信定制。推广短信不扶助在模板中添加变量。
      短信模板须要审批通过后才方可采纳。
    澳门葡京备用网址 2

前言

具体步骤:

注册并报到阿里云

手续 2 获取阿里云访问密钥

调用短信API还亟需八个参数:

  • Access Key ID
  • Access Key Secret

  能够由此阿里云控制台的 秘钥管理页面 创设、管理所有的走访秘钥对,且保证它地处“启用”状态。由于访问秘钥是阿里云对
API
请求进行安全认证的首要因子,请妥善保管你的拜会秘钥。假使某些秘钥对出现泄漏风险,指出即时删除该秘钥对并生成新的替代秘钥对。

澳门葡京备用网址 3

前段时间想达成一个短信验证码的效用,不过卡了很长日子。

手续 1 成立阿里云账号

为了访问短信服务,您需求有一个阿里云账号。假设没有,可率先根据如下步骤创造阿里云账号:

  1. 走访阿里云 官方网站,单击页面上的
    免费注册 按钮。
  2. 坚守显示器提醒完毕登记流程并展开实名认证,短信服务只帮助实名验证用户使用。为了更好地行使阿里云服务,提议尽快到位实名验证,否则部分阿里云服务将不能选拔。具体实名认证流程,请参考
    这里。

点击控制台后–>鼠标滑到您的用户名称(左边尾数第三个)–>点击accesskeys–>获取

手续 3 将阿里云短信整合进Laravel举行付出

澳门葡京备用网址 4
  下载阿里云提供的SDK开发并将api_sdk/lib/Core和api_sdk/lib/Api复制一份放到项目app/Tools/dysms下,没有的话需求团结创办。
澳门葡京备用网址 5
开辟项目根目录下的composer.json文件,在classmap,加上图示代码
澳门葡京备用网址 6
开辟命令行工具在档次根目录输入:

composer dumpautoload  

推行成功如下图
澳门葡京备用网址 7
接下去就是专业的付出了,直接采取sdk里面导入包的不二法门进行引入:
澳门葡京备用网址 8
先是次postman测试运行报错如下:
澳门葡京备用网址 9
那是因为EndpointerProvider里面,没有setEndpoints就直接运用了getEndpointers,所以回来为空音讯,setEndpoints操作是在EndpointConf中调用的,加载xml中的endpoints,在调用代码中进入

// 手动加载endpoint
EndpointConfig::load();

重新运行代码发现报如下错误:
澳门葡京备用网址 10
那是因为代理的缘故,注释一下代码就足以了:
澳门葡京备用网址 11

支出总体代码,github源码地址:

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;

use Aliyun\Core\Profile\DefaultProfile;
use Aliyun\Core\DefaultAcsClient;
use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
use Aliyun\Core\Regions\EndpointConfig;

class Dysms extends Controller
{
    static $acsClient = null;

    //阿里短信
    public function Dysms()
    {
        // 初始化SendSmsRequest实例用于设置发送短信的参数
        $request = new SendSmsRequest();

        //可选-启用https协议
        //$request->setProtocol("https");

        // 必填,设置短信接收号码
        $request->setPhoneNumbers(Input::get('phone'));

        // 必填,设置签名名称,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
        $request->setSignName("签名");

        // 必填,设置模板CODE,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
        $request->setTemplateCode("模版CODE");

        // 可选,设置模板参数, 假如模板中存在变量需要替换则为必填项
        $request->setTemplateParam(json_encode(array(
            // 短信模板中字段的值
            "code" => rand(000000, 999999),
            "product" => "dsd"
        ), JSON_UNESCAPED_UNICODE));

        // 可选,设置流水号
        $request->setOutId("1234567");

        // 选填,上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
//        $request->setSmsUpExtendCode("1234567");
        // 发起访问请求
        $acsResponse = static::getAcsClient()->getAcsResponse($request);
//打印执行结果
        dd($acsResponse);
// 执行成功后的返回状态
//        {#1538
//            +"Message": "OK"
//            +"RequestId": "0CE56BFE-5E9A-4F3F-8AEC-5C524720CE83"
//            +"BizId": "480519725607521112^0"
//            +"Code": "OK"
//        }
    }

    /**
     * 取得AcsClient
     *
     * @return DefaultAcsClient
     */
    public static function getAcsClient()
    {
        //产品名称:云通信流量服务API产品,开发者无需替换
        $product = "Dysmsapi";
        //产品域名,开发者无需替换
        $domain = "dysmsapi.aliyuncs.com";
        // TODO 此处需要替换成开发者自己的AK (https://ak-console.aliyun.com/)
        // AccessKeyId
        $accessKeyId = "AccessKeyId";
        // AccessKeySecret
        $accessKeySecret = "AccessKeySecret";
        // 暂时不支持多Region
        $region = "cn-hangzhou";
        // 服务结点
        $endPointName = "cn-hangzhou";
        if (static::$acsClient == null) {
            //初始化acsClient,暂不支持region化
            $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
            // 手动加载endpoint
            EndpointConfig::load();
            // 增加服务结点
            DefaultProfile::addEndpoint($endPointName, $region, $product, $domain);
            // 初始化AcsClient用于发起请求
            static::$acsClient = new DefaultAcsClient($profile);
        }
        return static::$acsClient;
    }
}

PS:最后只能吐槽下,阿里用OSS和阿里短信好多坑啊,这么大的一个小卖部。

率先我用的是阿里云的短信服务工作,其首次对接流程如下:

步骤 2 获取阿里云访问密钥

为了利用短信发送API-JAVA SDK,您必须申请阿里云的访问密钥。

阿里云访问秘钥是阿里云为用户采纳API(非控制台)来访问其云资源统筹的“安全口令”。您可以用它来签名 API
请求内容以通过服务端的平安表明。

该访问秘钥成对(AccessKeyId 与
AccessKeySecret)生成和拔取。每个阿里云用户可以创设多对走访秘钥,且可随时启用(Active)、禁用(Inactive)或者去除已经变更的走访秘钥对。

你可以通过阿里云控制台的
秘钥管理页面
创建、管理所有的造访秘钥对,且保障它地处“启用”状态。由于访问秘钥是阿里云对
API
请求举办安全认证的主要性因子,请妥善保管你的拜会秘钥。假如某些秘钥对出现泄漏风险,提议立刻去除该秘钥对并生成新的代表秘钥对。

点击控制台后–>产品与劳动–>云统计基础服务–>云通信–>短信服务

澳门葡京备用网址 12

3贯彻阿里超过短信验证的不二法门,阿里短信服务。手续 3  在控制台完毕模板与签名的提请,得到调用接口必备的参数

短信签名

依照用户属性来创立符合本人性质的签署音讯。公司用户必要上传相关公司资质阐明,个人用户须要上传表明个人身份的表明。

专注:短信署名须要核查通过后才方可接纳。

短信模板

短信模板,即现实发送的短信内容。

短信模板可以支撑验证码、短信文告、推广短信三种方式。验证码和短信公告,通过变量替换完结个性短信定制。推广短信不帮衬在模板中添加变量。

短信模板需求审查通过后才可以运用。

为了成功发送一条短信文告,您至少需求做到以下步骤

一、在控制台完结短信签名与短信模板的提请,得到调用接口必备的参数

在“短信署名”页面完结签字的申请,得到短信签名的字符串
签约申请手册

在“短信模板”页面已毕模板的报名,获得模板ID。模板申请手册

 

若果没有送测试短信署名和模板–>添加签名–>添加模板

在阿里云上开展短信服务后需求做的:

参数

下载SDK

1,申请签名  2,申请模板   3,创造Accesskey
,值得说的是,可以通过阿里云提供的子用户进行Accesskey的创建,那样可以更安全 
4,充值

入参列表
参数名称 参数类型 必填与否 样例取值 参数说明
PhoneNumbers String 必须 15000000000 短信接收号码,支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
SignName String 必须 云通信 短信签名
TemplateCode String 必须 SMS_0000 短信模板ID
TemplateParam String 可选 {“code”:”1234”,”product”:”ytx”} 短信模板变量替换JSON串,友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\r\n,否则会导致JSON在服务端解析失败
SmsUpExtendCode String 可选 90999 上行短信扩展码,无特殊需要此字段的用户请忽略此字段
OutId String 可选 abcdefgh 外部流水扩展字段

laravel有诸多的拓展短信工作的增添包,从前自己用的是阿里高于,使用如下:

出参列表
出参名称 出参类型 样例取值 参数说明
RequestId String 8906582E-6722 请求ID
Code String OK 状态码-返回OK代表请求成功,其他错误码详见错误码列表
Message String 请求成功 状态码的描述
BizId String 134523^4351232 发送回执ID,可根据该ID查询具体的发送状态

进入后选用PHP,会拿到dysmsapi_demo_sdk__php.zip,解压获得下图目录

1,从终端或者命令进入你的项,运行:composer require iscms/alisms-for-laravel

技术对接步骤

澳门葡京备用网址 13

2,将:iscms\Alisms\AlidayuServiceProvider::class加入config\app.php的Providers下
类似:

1:下载SDK工具包

SDK工具包中一共包涵了2个类库,一个aliyun-java-sdk-core包,另外一个是alicom-dysms-api包,将那三个包执行mvn
package命令或者mvn
deploy命令打包出相应的jar包,添加到工程类库中凭假如用。

SDK&DEMO[下载地址]

放置API

澳门葡京备用网址 14

2: 编写样例程序——-》复制即可;导入相应的接口连接

注:有备注无需修改的职分请勿改动。

//设置超时时间-可自行调整

System.setProperty("sun.net.client.defaultConnectTimeout", "10000");

System.setProperty("sun.net.client.defaultReadTimeout", "10000");

//初始化ascClient需要的几个参数

final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)

final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)

//替换成你的AK

final String accessKeyId = "yourAccessKeyId";//你的accessKeyId,参考本文档步骤2

final String accessKeySecret = "yourAccessKeySecret";//你的accessKeySecret,参考本文档步骤2

//初始化ascClient,暂时不支持多region(请勿修改)

IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,

accessKeySecret);

DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);

IAcsClient acsClient = new DefaultAcsClient(profile);

“ 

//组装请求对象

SendSmsRequest request = new SendSmsRequest();

//使用post提交

request.setMethod(MethodType.POST);

//必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式

request.setPhoneNumbers("1500000000");

//必填:短信签名-可在短信控制台中找到

request.setSignName("云通信");

//必填:短信模板-可在短信控制台中找到

request.setTemplateCode("SMS_1000000");

//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为

//友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败

request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"123\"}");

//可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)

//request.setSmsUpExtendCode("90997");

//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者

 

request.setOutId("yourOutId");

//请求失败这里会抛ClientException异常

SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);

if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {

//请求成功

}

相关网址:

短信发送API

登陆API

登陆之后点击左侧的:点击签名管理举办申请;点击模板管理举行模板申请;成功之后在java代码中展开安排引用即可

 

在TP根目录下创设文件夹Api,并将api_sdk整个文件夹复制进去,改名dysms(可随意取名)

3,运行:php artisan vendor:publish,那样会在config文件夹下新增一个alisms.php文件,内容如下:

错误码列表

Code 描述
OK 请求成功
isp.RAM_PERMISSION_DENY RAM权限DENY
isv.OUT_OF_SERVICE 业务停机
isv.PRODUCT_UN_SUBSCRIPT 未开通云通信产品的阿里云客户
isv.PRODUCT_UNSUBSCRIBE 产品未开通
isv.ACCOUNT_NOT_EXISTS 账户不存在
isv.ACCOUNT_ABNORMAL 账户异常
isv.SMS_TEMPLATE_ILLEGAL 短信模板不合法
isv.SMS_SIGNATURE_ILLEGAL 短信签名不合法
isv.INVALID_PARAMETERS 参数异常
isp.SYSTEM_ERROR 系统错误
isv.MOBILE_NUMBER_ILLEGAL 非法手机号
isv.MOBILE_COUNT_OVER_LIMIT 手机号码数量超过限制
isv.TEMPLATE_MISSING_PARAMETERS 模板缺少变量
isv.BUSINESS_LIMIT_CONTROL 业务限流
isv.INVALID_JSON_PARAM JSON参数不合法,只接受字符串值
isv.BLACK_KEY_CONTROL_LIMIT 黑名单管控
isv.PARAM_LENGTH_LIMIT 参数超出长度限制
isv.PARAM_NOT_SUPPORT_URL 不支持URL
isv.AMOUNT_NOT_ENOUGH 账户余额不足

注:查询所有错误码及解决办法请点击短信接口调用错误码

澳门葡京备用网址 15
澳门葡京备用网址 16

<?php
 return [
  'KEY' =>env('ALISMS_KEY',null),
  'SECRETKEY'=>env('ALISMS_SECRETKEY',null),
 ];

引入API文件

 4,在.env文件中写入:

在协调索要调用的控制器尾部引入如下路径

ALISMS_KEY=23305789
ALISMS_SECRETKEY=**************
use Aliyun/Core/Config;
use Aliyun/Core/Profile/DefaultProfile;
use Aliyun/Core/DefaultAcsClient;
use Aliyun/Api/Sms/Request/V20170525/SendSmsRequest;

 注意:ALISMS_KEY和ALISMS_SECRETKEY就是阿里云生成的走访秘钥成对(AccessKeyId
与 AccessKeySecret)

澳门葡京备用网址 17

开首运用:

8.正真的撸码现在开首

 1,在您须求调用短信服务的控制器中引入SMS:

上源码:

  use iscms\Alisms\SendsmsPusher as Sms;

/**
* 数据处理
*/
public function send_message(){
$phone=I("post.phone");
//查找是否已经注册
$user = D('User') -> where("user_phone = {$phone}") -> find();
if ($user) {
echo "手机号已注册!";
}else{
$this->send_phone($phone);
}
// $this->ajaxReturn($data,"JSON");
}
/**
* 生成短信验证码
* @paraminteger $length [验证码长度]
*/
public function createSMSCode($length = 4){
$min = pow(10 , ($length - 1));
$max = pow(10, $length) - 1;
return rand($min, $max);
}
/**
* 发送验证码
* @param[integer] $phone [手机号]
*/
public function send_phone($phone){
$code=$this->createSMSCode($length = 4);
require_once'./Api/dysms/vendor/autoload.php';//此处为你放置API的路径
Config::load();//加载区域结点配置
$accessKeyId = '换成自己的';
$accessKeySecret = '换成自己的';
$templateCode = '换成自己的'; //短信模板ID
//短信API产品名(短信产品名固定,无需修改)
$product = "Dysmsapi";
//短信API产品域名(接口地址固定,无需修改)
$domain = "dysmsapi.aliyuncs.com";
//暂时不支持多Region(目前仅支持cn-hangzhou请勿修改)
$region = "cn-hangzhou";
// 初始化用户Profile实例
$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
// 增加服务结点
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
// 初始化AcsClient用于发起请求
$acsClient = new DefaultAcsClient($profile);
// 初始化SendSmsRequest实例用于设置发送短信的参数
$request = new SendSmsRequest();
// 必填,设置短信接收号码
$request->setPhoneNumbers($phone);
// 必填,设置签名名称
$request->setSignName("换成自己的");
// 必填,设置模板CODE
$request->setTemplateCode("换成自己的");
$smsData = array('code'=>$code);//所使用的模板若有变量 在这里填入变量的值我的变量名为username此处也为username
//选填-假如模板中存在变量需要替换则为必填(JSON格式),友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含/r/n的情况在JSON中需要表示成//r//n,否则会导致JSON在服务端解析失败
$request->setTemplateParam(json_encode($smsData));
//发起访问请求
$acsResponse = $acsClient -> getAcsResponse($request);
//返回请求结果
$result = json_decode(json_encode($acsResponse), true);
$resp = $result['Code'];
$this->sendMsgResult($resp,$phone,$code);
}
/**
* 验证手机号是否发送成功前端用ajax,发送成功则提示倒计时,如50秒后可以重新发送
* @param[json] $resp[发送结果]
* @param[type] $phone [手机号]
* @param[type] $code[验证码]
* @return [type] [description]
*/
private function sendMsgResult($resp,$phone,$code){
if ($resp == "OK") {
$data['phone']=$phone;
$data['code']=$code;
$data['send_time']=time();
$result=D("Smsverif")->add($data);
if($result){
$data="发送成功";
}else{
$data="发送失败";
}
} else{
$data="发送失败";
}
return $data;
}
/**
* 验证短信验证码是否有效,前端用jquery validate的remote
* @return [type] [description]
*/
public function checkSMSCode(){
$phone = $_POST['phone'];
$code = $_POST['verify'];
$nowTimeStr = time();
$smscodeObj = D("Smsverif")->where("phone={$phone} and code = {$code}")->find();
if($smscodeObj){
$smsCodeTimeStr = $smscodeObj['send_time'];
$recordCode = $smscodeObj['code'];
$flag = $this->checkTime($nowTimeStr, $smsCodeTimeStr);
if($flag!=true || $code !== $recordCode){
echo 'no';
}else{
echo 'ok';
}
}
}
/**
* 验证验证码是否在可用时间
*@param[json] $nowTimeStr[发送结果]
* @param[type] $smsCodeTimeStr [手机号]
*/
public function checkTime ($nowTimeStr,$smsCodeTimeStr) {
$time = $nowTimeStr - $smsCodeTimeStr;
if ($time>900) {
return false;
}else{
return true;
}
}
public function __construct(Sms $sms)
 {
  $this->sms=$sms;
 }

 public function index()
 {
  $result=$this->sms->send("$phone","$name","$content","$code");
 }

在来点前端js码:

参数表达:$phone,$name,$content,$code

团结提示:html还请诸君能自己表明

  • $phone 指接受短信方的短信号码,
  • $name 指短信签名 可以在阿里大鱼短信签名
    找到
  • $content 是指短信模板中的变量内容.举个例子

代码有了,效果怎么可能没有呢!(实例是用户注册,我的手机号已经登记过了,所以效果是选用的找回密码)

在协调的阿里大鱼模板里面有上面一个短信模板

澳门葡京备用网址 18

模板名称: 身份验证验证码

澳门葡京备用网址,到此处就OK了

模板ID: SMS_3910275

总结

*模板内容:
验证码$[code],您正在拓展${product}身份验证,打死不要告诉别人哦!

以上所述是小编给大家介绍的thinkPHP3.2.3完成阿里当先短信验证的不二法门,希望对大家享有协助,假使大家有任何疑问请给自身留言,小编会及时苏醒大家的。在此也格外感谢大家对台本之家网站的支撑!

那就是说相应的我们的$content 就应有为

您可能感兴趣的小说:

  • Thinkphp完结短信验证注册功用
  • ThinkPHP验证码使用简明教程
  • thinkphp验证码突显不出来的化解形式
  • thinkPHP中验证码的粗略利用方法
  • thinkphp3.2点击刷新生成验证码
  • 详解ThinkPHP3.2.3验证码展现、刷新、校验
  • thinkphp自带验证码周详剖析
  • ThinkPHP验证码和分页实例教程
  • ThinkPHP3.2.1图片验证码已毕形式
  • thinkPHP框架已毕的短信接口验证码效用示例
   {
  code:"生成的验证码",
  product:"示例项目"
 }

到此就能够正常使用,不过不领会怎么,我在选择进度中,控制台重临了code=11的错误码,在天猫商城上考察后是因为isv权限的难题,之后我在阿里云中校用户的权力决定开到了最大,不过依然会出现那些荒唐,换了一个扩充包仍旧那一个难题,到前天还未曾缓解,于是我就在laravel中写原生的。

率先从阿里云官网上下载关于短信服务的sdk包

SDK工具包中一共包括了2个类库,一个aliyun-php-sdk-core包,其它一个是alicom-dysms-api包,将那七个包添加到工程类库中凭借。

慎选PHP版本的sdk包将缩减包解压,里面有四个公文夹:api_demo,api_sdk,msg_demo,msg_sdk

在laravel项目标app文件夹下新建一个名为libs的文本夹,将api_sdk和msg_sdk复制到libs文件夹下。

找到根目录下的composer.json文件,找到composer.json中定义的classmap选项,写入引入的多少个包:

澳门葡京备用网址 19

终点进入项目文件夹中运作:

composer dumpautoload

那规范就在laravel中引入了第三方类库。

制造代码文件

自己将其大约的卷入了瞬间:

<?php
 // namespace App\Http\Controllers\sms;
 use Aliyun\Core\Config;
 use Aliyun\Core\Profile\DefaultProfile;
 use Aliyun\Core\DefaultAcsClient;
 use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
 use Aliyun\Api\Sms\Request\V20170525\QuerySendDetailsRequest;
 use App\Http\Controllers\Controller;

 // 加载区域结点配置
 Config::load();
 class SmsController extends Controller 
 {

  /**
   * 构造器
   * @param string $accessKeyId 必填,AccessKeyId
   * @param string $accessKeySecret 必填,AccessKeySecret
   */
  public function __construct($accessKeyId="######",$accessKeySecret="#######")
  {
   // 短信API产品名
    $product = "Dysmsapi";
   // 短信API产品域名
    $domain = "dysmsapi.aliyuncs.com";
    // 暂时不支持多Region
    $region = "cn-hangzhou";
    // 服务结点
    $endPointName = "cn-hangzhou";
    // 初始化用户Profile实例
    $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
    // 增加服务结点
    DefaultProfile::addEndpoint($endPointName, $region, $product, $domain);

    // 初始化AcsClient用于发起请求
    $this->acsClient = new DefaultAcsClient($profile);
  }


  /**
   * 发送短信范例
   * @param [type] $phoneNumbers 必填, 短信接收号码
   * @param string $signName 必填, 短信签名,应严格"签名名称"填写,
   * @param string $templateCode 必填, 短信模板Code,应严格按"模板CODE"填写,
   * @param [type] $outId  选填, 假如模板中存在变量需要替换则为必填项
   * @return [type]    [description]
   */
  public function sendSms($phoneNumbers,$signName="XX软件",$templateCode="SMS_XXXXXX",$outId=null)
  {
    // 初始化SendSmsRequest实例用于设置发送短信的参数
   $request = new SendSmsRequest;
    // 必填,设置雉短信接收号码
   $request->setPhoneNumbers($phoneNumbers);
    // 必填,设置签名名称
   $request->setSignName($signName);
   // 必填,设置模板CODE
   $request->setTemplateCode($templateCode);
   $num = rand(100000,999999);
    // 可选,设置模板参数
   $request->setTemplateParam(json_encode(
    Array(
     "code" => "$num"
    )
   ));

    // 可选,设置流水号
   if($outId) {
    $request->setOutId($outId);
   }

    // 发起访问请求
   $acsResponse = $this->acsClient->getAcsResponse($request);
  }


  /**
   * 查询短信发送情况范例
   * @param [type] $phoneNumbers 必填, 短信接收号码
   * @param [type] $sendDate  必填,短信发送日期,格式Ymd,支持近30天记录查询 
   * @param integer $pageSize 必填,分页大小
   * @param integer $currentPage 必填,当前页码
   * @param [type] $bizId  选填,短信发送流水号
   * @return [type]    [description]
   */
  public function queryDetails($phoneNumbers,$sendDate,$pageSize=10,$currentPage=1,$bizId=null)
  {
    // 初始化QuerySendDetailsRequest实例用于设置短信查询的参数
   $request = new QuerySendDetailsRequest();
   $request->setPhoneNumber($phoneNumbers);
   $request->setSendDate($sendDate);
   $request->setPageSize($pageSize);
   $request->setCurrentPage($currentPage);
   if($bizId) {
    $request->setBizId($bizId);
   }
   $acsResponse = $this->acsClient->getAcsResponse($request);
  }
 }

从此用就实例化调用方法就可以了。

总结

上述就是那篇小说的全部内容了,希望本文的内容对我们的就学或者办事富有一定的参照学习价值,即使有疑问大家可以留言沟通,谢谢我们对台本之家的支撑。

你或许感兴趣的文章:

  • Laravel5.2使用Captcha生成验证码已毕登录(session巨坑)
  • Laravel下生成验证码的类
  • 运用 laravel sms
    构建短信验证码发送校验功用
  • 在 Laravel 中 “规范”
    的付出短信验证码发送作用
  • laravel5.4生成验证码的代码
  • laravel5.4生成验证码的实例讲解
  • Laravel 集成
    Geetest验证码的办法

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website