700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > TP5调用阿里云短信接口实现发送短信功能

TP5调用阿里云短信接口实现发送短信功能

时间:2018-05-08 03:26:35

相关推荐

TP5调用阿里云短信接口实现发送短信功能

TP5调用阿里云短信接口实现发送短信功能

工作需要,对接阿里云的短信服务,借此记录一下(网站 www.lelee.top)

主要分为两个部分,一是下载官方的Demo事例,这个不需要多说,自己去下载就行,地址:

/document_detail/55359.html?spm=a2c4g.11186623.4.3.45ae16e49ejNTe

可以下载轻量版的SDK 注意一下PHP 的版本

第二步就是在文件中引用,把下载的SDK 中的 api-sdk 放在vendor 文件夹下面,可以随意命名

下面就是常规的调用,在common文件中添加方法

use Aliyun\Core\Config;

use Aliyun\Core\Profile\DefaultProfile;

use Aliyun\Core\DefaultAcsClient;

use Aliyun\Api\Sms\Request\V0525\SendSmsRequest;

/**

* 短信发送

* @param $to 接收人

* @param $model 短信模板ID

* @param $code 短信验证码

* @return json

* @说明:有优惠,先领卷在购买,不谢!/ntms/yunparter/invite.html?userCode=ob1nyal1

*/

function send_sms($to, $model, $code){

require_once '../extend/alisms/vendor/autoload.php';

Config::load(); //加载区域结点配置

$config = '根据你的实际情况读取配置文件或读取数据库,本项目是将配置写入数据库实现';

$accessKeyId = '你的AccessKeyID';

$accessKeySecret = '你的AccessKeySecret';

$templateParam = $code;

//短信签名

$signName = $config['sign_name'];

//短信模板ID

switch($model){

case 1:

$templateCode = $config['model_code_rl']; // 注册登录短信验证码模板

break;

case 2:

$templateCode = $config['model_code_reset']; // 重置密码短信验证码模板

break;

}

//短信API产品名(短信产品名固定,无需修改)

$product = "Dysmsapi";

//短信API产品域名(接口地址固定,无需修改)

$domain = "";

//暂时不支持多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($to);

// 必填,设置签名名称

$request->setSignName($signName);

// 必填,设置模板CODE

$request->setTemplateCode($templateCode);

// 可选,设置模板参数

if($templateParam) {

$request->setTemplateParam(json_encode($templateParam));

}

//发起访问请求

$acsResponse = $acsClient->getAcsResponse($request);

//返回请求结果

$result = json_decode(json_encode($acsResponse),true);

// 具体返回值参考文档:/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FK

return $result;

}

然后在需要的地方进行调用

$send = send_sms($sender,1,$code);

参数(手机号,模板ID,验证码);

需要注意的是首先要注册阿里云短信服务、获取AccessKeyId 和 AccessKeySecret

https://dysms./dysms.htm#/overview

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。