阿里云短信thinkphp
在项目中用到阿里云的短信服务,在使用阿里云提供的SDK后,踩了很多坑,费尽九牛二虎之力才调试成功。
为方便大家快速方便的使用sdk,将我自己封装的短信调用方法提供如下,方便大家参考:
1. 请自行下载php的sdk
2.创建短信签名、短信模板,云资源使用的子账号并分配相关权限
3、将SDK中api_sdk文件夹重命名后放入thinkphp5的extends目录下
4、在conmmon.php中创建公共方法sendMsg,调用SDK的发送短信API
<?php
use Aliyun\Core\Config;
use Aliyun\Core\Profile\DefaultProfile;
use Aliyun\Core\DefaultAcsClient;
use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
/**
* @param $mobile 手机号
* @param $tplCode 模板ID
* @param $tplParam 短信内容
*/
function sendMsg($mobile,$tplCode,$tplParam){
require_once '../extend/aliyunsms/vendor/autoload.php';
Config::load(); //加载区域结点配置
$accessKeyId = config('aliYunSms.app_key');
$accessKeySecret = config('aliYunSms.app_secret');
$templateParam = $tplParam; //模板变量替换
//$signName = (empty(config('alisms_signname'))?'阿里大于测试专用':config('alisms_signname'));
$signName = config('aliYunSms.sign_name');
//短信模板ID
$templateCode = $tplCode;
//短信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($mobile);
// 必填,设置签名名称
$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);
return $result;
}
5、在controller中调用sendMsg()方法,传入参数即可。
---------------------
作者:glx490676405
来源:CSDN
原文:https://blog.csdn.net/glx490676405/article/details/79402535
版权声明:本文为博主原创文章,转载请附上博文链接!
阿里云短信thinkphp相关推荐
- ThinkPHP6项目基操(15.实战部分 阿里云短信redis)
阿里云短信redis 一.安装阿里云短信SDK 二.封装到项目lib中 三.radis记录验证码 1. 安装redis服务 2. 可视化redis管理软件 3. PHP安装redis扩展 4. 配置缓 ...
- 最新阿里云短信服务接口类【亲测成功】
阿里大于 最新的阿里云短信接口,适用于阿里大于搬家以后的情况. 之前一直用阿里大于的短信接口,最近上项目时发现阿里大于悄悄地搬家到了阿里云!阿里云的SDK文件繁多,看得一头雾水!下面代码是最新的可适用 ...
- tpshop 阿里云短信sdk使用和带链接短信实现
tpshop 阿里云短信sdk使用 创建keyId 和 keysecret,下载sdk 先去阿里云申请账号(后台地址: https://www.aliyun.com/ , 注意不是阿里大于短信平台), ...
- Thinkphp3.2开发阿里云短信验证码
之前一直使用的是创蓝253的短信验证码,开发起来比较方便,不想阿里云这么复杂.有兴趣的同学可以去看一下创蓝253的短信验证码(https://www.253.com). 今天主要说一下阿里云的短信验证 ...
- ThinkPHP5.1接入阿里云短信服务(原大鱼最新版)指导
♘背景 随着科技发展的推动,曾经充满温馨问候与回忆的短信业务,如今绝大多数局限于 验证码发送.诈骗/骚扰信息.业务推送 的使用 而作为一名IT搬砖的码农,对于第三方服务的接入也是必须掌握的技能,此处介 ...
- 微信小程序云开发,使用阿里云短信服务,搜索员工生日定期发送短信。
相关API文档地址: 阿里云短信服务API文档地址 小程序云开发云函数正则匹配API文档地址 小程序云开发云函数定时触发器 1.登录阿里云,购买短信服务并添加签名和模板 2., 登录阿里云,鼠标放在右 ...
- 阿里云短信验证解决方案(java版)(redis存储)
阿里云短信验证解决方案(java版)(redis存储) 参考文章: (1)阿里云短信验证解决方案(java版)(redis存储) (2)https://www.cnblogs.com/Amos-Tur ...
- 阿里云短信发送触发天级流量及解决办法
前言 今天小项目里引入了阿里云短信.调试过程中,突然不发短信了.发现接口返回信息,触发天级流量限制.以下是原因和解决办法. 原因 短信发送有默认的频率限制 限制如下: 短信验证码 :使用同一个签名,对 ...
- legend3---PHP使用阿里云短信服务
legend3---PHP使用阿里云短信服务 一.总结 一句话总结: 使用步骤照官方文档,代码拷贝即可 1.php使用阿里云短信服务的步骤? 入驻阿里云->开通短信服务->获取Access ...
最新文章
- can‘t resolve symbol xxx
- ad network
- MongoDB 日志文件过大的解决方法
- python如何进行垃圾回收_python垃圾回收机制
- 嵌入式MicroFlighter 之STM32F103学习——编写第一个STM32程序
- Swift 4.2进入最后开发阶段,为Swift 5铺平道路
- android qq 登陆 简书,第三方登录 — QQ登录
- 从 MQL4 迁移到 MQL5
- 动态规划之背包问题——完全背包
- 计算机日志文件事件ID,教程分享:如何在Windows上对用户配置文件服务事件ID进行故障排除!...
- 教你来使用雪碧图(CSS sprite)
- ES6——Promise笔记
- Java中的XML解析
- python角谷猜想递归实现_第三周函数的递归---编程作业: 递归编程练习
- 串口(DB9)连接线的制作方法
- 极光推送SDK引起的内存泄露排查
- 【R】【课程笔记】02+03 基于R软件的计算
- 传感器与变送器的区别与联系
- 养成记账好习惯,分享我的记账经验
- 系统架构——系统流程图和程序流程图的区别
热门文章
- 百卓网络获智慧公安实践大奖 助力中国信息化融合新篇章
- c语言中cr有啥作用,C语言中lt;CRgt;是什么意思?
- 整型常量数据 下划线分隔符
- DVWA关卡3:Cross Site Request Forgery (CSRF)(跨站请求伪造)
- Android资源目录分模块(基于gradle)
- Vinoteka for mac(酒厂管理软件)
- shell 截取最后一个参数及字符截取
- JSP+MySQL绿色环境保护网站的设计于实现
- java printwriter 文件,java使用PrintWriter写文件,javaprintwriter写,下面示例代码演示使用Pr...
- 优思学院祝你冬至快乐!