下载官方SDK

第一步肯定是下载官方的SDK了,但是官方下载的SDK内容有一些多,我们不必全部都要,只将下载好的SDK文件中的api_sdk文件,改名aliyunsms,然后放入ThinkPHP5框架的扩展目录Vendor下即可,下载地址传送门

这个api_sdk就是短信服务API接口依赖的SDK

功能实现

短信功能可以在用户登录,注册的时候都会使用,所以我们最好还是直接封装一个公共函数,我这里直接放在Api下面了/app/api/common.php,这里的app你们那里应该是application,因为我这里改了一下配置,不影响

/*** 发送验证码* @param tel 手机号* @param code 验证码*/
function send_sms_code($tel,$code) { require_once VENDOR_PATH . 'aliyunsms/vendor/autoload.php'; require_once VENDOR_PATH . 'aliyunsms/lib/Api/Sms/Request/V20170525/SendSmsRequest.php'; Config::load(); $config = \config('aliyun_sms'); //获取配置信息 $accessKeyId = $config['KeyID'];//阿里云短信keyId $accessKeySecret = $config['KeySecret'];//阿里云短信keysecret //短信API产品名 $product = "Dysmsapi"; //短信API产品域名 $domain = "dysmsapi.aliyuncs.com"; //暂时不支持多Region $region = "cn-hangzhou"; //初始化访问的acsCleint $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret); DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain); $acsClient= new DefaultAcsClient($profile); $request = new SendSmsRequest(); $request->setPhoneNumbers($tel);//必填-短信接收号码 $request->setSignName($config['SignName']);//必填-短信签名: 如何添加签名可以参考阿里云短信或TPshop官方文档 //必填-短信模板Code $request->setTemplateCode($config['TemplateCode']);//必填-短信签名: 如何添加签名可以参考阿里云短信或TPshop官方文档 //选填-假如模板中存在变量需要替换则为必填(JSON格式) $request->setTemplateParam("{\"code\":$code}");//短信签名内容: //发起访问请求 $resp = $acsClient->getAcsResponse($request); //短信发送成功返回True,失败返回false if ($resp && $resp->Code == 'OK') { return array('status' => 1, 'msg' => $resp->Code); } else { return array('status' => -1, 'msg' => $resp->Message . ' subcode:' . $resp->Code); } }

里面的参数不用做任何修改,可以修改一下你存放的路径,在头部use类库就可以

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

\config('aliyun_sms')是获取配置信息,在/app/config/config.php中添加如下配置

//阿里云SMS配置
'aliyun_sms' => [ 'KeyID' => '', //阿里云生成的 accessKeyId 'KeySecret' => '', //阿里云生成的 accessKeySecret 'SignName' => '沈唁志', //短信签名 'TemplateCode' => 'SMS_130XXXXXX' //短信模板 ID ],

调用函数

调用函数:send_sms_code('手机号','验证码')

/*** 发送验证码* @param tel 手机号* @param code 验证码*/
public function sendSms($tel) { $code = rand(1000,9999); $res = send_sms_code($tel,$code); if($res['msg'] == 'OK'){ return $this->response(200,'发送成功!'); }else{ return $this->response(400,'发送失败!'); } }

就这样,ThinkPHP5框架短信集成成功!

转载于:https://www.cnblogs.com/jasonLiu2018/articles/10839609.html

ThinkPHP5框架接入阿里云短信最新版(原大鱼)的方法相关推荐

  1. thinkphp5详细使用阿里云短信最新版(原大鱼)教程!

    如何使用tp5来使用阿里短信平台最新版2.0sdk,也就是所谓的前阿里大鱼. 首先我们下载官方完整包的SDK:[url]https://help.aliyun.com/document_detail/ ...

  2. ThinkPHP5.1接入阿里云短信服务(原大鱼最新版)指导

    ♘背景 随着科技发展的推动,曾经充满温馨问候与回忆的短信业务,如今绝大多数局限于 验证码发送.诈骗/骚扰信息.业务推送 的使用 而作为一名IT搬砖的码农,对于第三方服务的接入也是必须掌握的技能,此处介 ...

  3. phpyun人才招聘系统接入阿里云短信

    记一下PHP云人才招聘系统对接阿里云短信的方法 SDK下载 功能实现 调用 # SDK下载 下载官方SDK 之后将api_sdk拷贝到系统的app/public目录下,当然也可放在项目内其它位置 # ...

  4. 如何接入阿里云短信服务 (完整指南)

    目录 一.注册并实名认证 二.开通短信服务 三.获取AccessKey 四.设置短信内容 五.配置短信接口 六.发送短信 七.常见问题FAQ 一.注册并实名认证 使用阿里云短信服务,用户需要先在阿里云 ...

  5. NET接入阿里云短信服务

    Net Core+阿里云实现短信验证码 开通阿里云短信服务 首先要开通阿里云短信服务,这个不多赘述,看图 开通之后,来到管理控制台 点击国内消息-->签名管理-->添加签名 同样的步骤,模 ...

  6. 接入阿里云短信,OSS,实人认证

    公司开发用到了很多阿里云的产品,几乎第三方SDK,云服务器什么的老板都用阿里云的. 一:发短信功能 引入pom依赖 </dependency> <dependency>< ...

  7. 阿里云短信服务bug

    接入阿里云短信服务,在springboot中写测试方法,执行到 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou ...

  8. tp5.1对接阿里云短信实例

    一.前期要准备工作: 1.tp5.1框架 2.composer 二.下载官方的SDK 1.关于asseccKeyId和asseccKeySecret.模板签名此处略过了.如果您只是要做开发接口,并不想 ...

  9. 阿里云短信服务接入流程

    背景 在最近的项目需求中, 需要将复用阿里短信能力, 实现用户手机号验证: 如果用户号码验证通过后, 可以让用户上传文件资料并进行打印. 故核心内容就是: 阿里云短信服务接入, 下面我们主要来介绍下阿 ...

最新文章

  1. 面包好吃却五毒俱全,吃前请三思!
  2. OpenCV 礼帽和黑帽
  3. 忙的连自己姓什么都不知道啦...
  4. Seafile 开源企业云盘部署
  5. 解决:ClassNotFoundException: com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect
  6. 铺地毯(信息学奥赛一本通-T1118)
  7. alook浏览器_alook浏览器下载-Alook浏览器iOS版下载 苹果版v10.8-PC6苹果网
  8. matplotlib绘制虚线_[Matplotlib习题]虚线绘图练习
  9. LeetCode 496. 下一个更大元素 I
  10. 随机森林筛选特征Matlab,特征筛选(随机森林)
  11. iOS tabbar 控制器基本使用
  12. JAVA获取各种日期时间
  13. 作为项目经理如何做好项目进度管理
  14. js金额小写转换成大写
  15. 高级运维需要掌握哪些技术?
  16. 转载-信息化与系统集成技术-全面解析工业4-0和云计算、大数据
  17. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java焦虑自测与交流平台k43cf
  18. matlab 冲激响应不变法,matlab实验七 冲激响应不变法IIR数字滤波器设计
  19. RSS应用现状以及我的一些想法
  20. 基于缎蓝园丁鸟优化算法的无线传感器网络覆盖优化

热门文章

  1. 串的模式匹配(BF算法)
  2. 数据结构与算法(二):比较有名的排序和所有算法
  3. Java数组扩容算法及Java对它的应用
  4. 5.26在网上看到的方法,实现图形缩放、对齐、图形修改后进行dirty check。(未实验过)...
  5. IMPORTANT: BizTalk Server 2004 fixes for Windows XP SP2 and .NET FW 1.1 SP1
  6. python爬取某人所有微博_Python爬取博客的所有文章并存为带目录的word文档(实例67)
  7. mysql怎么打印数据_从mysql打印数据
  8. 钢筋符号怎样加入wps_钢筋知识「收藏备用」
  9. mysql 5.7.6 5.7.19_免编译安装mysql 5.7.19
  10. SpringMVC错误:No mapping found for HTTP request with URI [xxxx] in DispatcherServlet