短信服务之阿里云短信平台

  • 开通阿里云短信服务
  • 集成到TP5框架
    • 安装
    • 使用
  • 如果解决了你的疑问,麻烦点个赞吧,当然也不介意您关注收藏下的呢

开通阿里云短信服务

登录阿里云进入控制台 产品与服务–>云通讯–>短信服务–>国内消息

1.创建 签名与短信模板

2.创建 AccessKey

3.本人这里使用子账号 创建专门把短信服务授权给该账号

集成到TP5框架

安装

1.官方PHP SKD Github : https://github.com/aliyun/openapi-sdk-php-client
2.使用composer安装

composer require alibabacloud/client

使用composer的安装步骤需要在composer.json里面去配置一下,本来不想说的,又怕有些不懂,特此做一下说明:
如下图在composer.json文件中的require里加入:“alibabacloud/client”: “^1.5”。

然后再执行composer命令,如下图,其中也会生成一些依赖包

使用

可以在common文件夹增加一个Sms类

贴上代码

<?php
namespace app\common;use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;class Sms {/*** 发送登录/注册短信* @param string phone 手机号码* @param int number 验证码* @return array*/public static function sendLoginCode(string $phone, int $number) : array{try{AlibabaCloud::accessKeyClient(env('ACCESS_KEY_ID'), env('ACCESS_KEY_SECRET'))->regionId('cn-hangzhou')->asDefaultClient();$options = ['query' => ['RegionId' => "cn-hangzhou",'PhoneNumbers' => $phone,'SignName' => env('SIGN'),'TemplateCode' => env('ZC_MB_ID'),'TemplateParam' => json_encode(["code" => $number,"product" => "dsd"])]];$result = AlibabaCloud::rpc()->product('Dysmsapi')// ->scheme('https') // https | http->version('2017-05-25')->action('SendSms')->method('POST')->host('dysmsapi.aliyuncs.com')->options($options)->request();if($result->Code == 'OK') {$code = 0;$msg = '发送成功';//把生成的随机数存进redis缓存$key = 'zc_code_' . $phone;app('mycache')->set($key, $number, 300);}else{$code = 2;$msg = $result->Message;}return [$code, $msg];}catch(Exception $e){throw $e;}}
}

顺便把验证码发送和验证一块贴出来吧,上面那一块是真正的调用短信发送服务,下面是发送服务前和发送服务后的操作

<?php
namespace app\index\controller;use think\Validate;
use app\common\Sms;class SmsMsg {/*** 发送登录/注册短信验证码*/public function sendLoginCode(){try{$rule = ['phone' => 'require'];$errorMsg = ['phone.require' => '手机号码不能为空'];$validate = Validate::make($rule, $errorMsg);$check = $validate->check(request()->post());if(!$check){$msg = $validate->getError();return json(['code' => 4000, 'msg' => $msg]);}$phone = request()->post('phone');//获取手机号码$number = mt_rand(100000, 999999);//生成6位数字码//发送list($code, $msg) = Sms::sendLoginCode($phone, $number);if($code){return json(['code' => $code, 'msg' => $msg]);}return json(['code' => $code, 'msg' => '发送成功']);}catch(ClientException $e){throw new Excetpion($e->getErrorMessage());}catch(ServerException $e){throw new Excetpion($e->getErrorMessage());}catch(Exception $e){throw $e;}}/*** 检测验证码有效性*/public function checkLoginCode(){try{$rule = ['phone' => 'require','code' => 'require|number'];$errorMsg = ['phone.require' => '手机号码不能为空','code.require' => '手机号码不能为空','code.number' => '手机号码必须为数字'];$validate = Validate::make($rule, $errorMsg);$check = $validate->check(request()->post());if(!$check){$msg = $validate->getError();return json(['code' => 40000, 'msg' => $msg]);}$phone = request()->post('phone');//手机号码$code = request()->post('code');//验证码$key = 'zc_code_' . $phone;$validCode = app('mycache')->get($key);//0为不通过, 1为通过$data = ['is_valid' => 0];if($code == $validCode){$data['is_valid'] = 1;}return json(['code' => 0, 'msg' => '验证成功', 'data' => $data]);}catch(Exception $e){throw $e;}}
}

如果解决了你的疑问,麻烦点个赞吧,当然也不介意您关注收藏下的呢

短信服务之阿里云平台相关推荐

  1. 邮箱服务之阿里云平台

    邮箱服务之阿里云平台 开通阿里云短信服务 集成到TP5框架 安装 使用 如果解决了你的疑问,麻烦点个赞吧,当然也不介意您关注收藏下的呢 开通阿里云短信服务 登录阿里云进入控制台 产品与服务–>云 ...

  2. Java常用工具类-发短信(集成阿里云短信服务)

    1.注册阿里账号并开通短信服务 注册阿里账号后,并进行个人或企业实名认证,实名认证后,才能开通短信服务. 界面如下: 2.获取AccessKey 参考获取AccessKey方法 创建成功后,如下图: ...

  3. 医疗短信解决方案:医疗云平台如何对接通知短信?

    医疗系统中短信通知场景: 1.医疗云平台发送预约挂号短信 2.医疗云平台发送就诊短信提醒 3.医疗云平台发送订单通知短信 4.医疗云平台发送缴费短信通知 5.医疗云平台发送停诊短信通知 6.医疗云平台 ...

  4. php 阿里云短信服务及阿里大鱼实现短信验证码的发送

    阿里云短信服务 一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用 ...

  5. jeecg 手机注册 阿里云短信API 【 阿里云短信发送验证码 平台配置和项目中使用】

    文章目录 jeecg 项目效果展示 短息通知页面入口 代码中调用短信api 配置和代码 API中的重要参数配置项: 阿里控制台注册 注册签名 注册短信模板  阿里云短信发送验证码配置和项目使用 je ...

  6. 【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)

    发送手机短信验证码 前言 一. 准备工作 二. 配置 三. 实战代码(仅仅是后台代码,前端传入手机号) 总结 前言 在网站和移动应用中利用短信验证码进行信息确认是最常用的验证手段.随着短信验证码的技术 ...

  7. 短信验证码(短信接口:阿里云

    实现短信接口与程序的对接:主要使用AK(AccessKey).短信签名.短信模板 1.1 进入阿里云官网,注册登录 https://www.aliyun.com/ 1.2 登录后操作:添加短信签名.短 ...

  8. 【短信业务】阿里云可以发送带变量的链接短信

    申请开通短信业务流程 阿里云配置短信业务 1.在账号管理中的 Accesskey管理中申请accessKeyId和accessKeySecret 2.进入短信服务管理 3.进入快速学习和测试 申请签名 ...

  9. python 阿里云短信接口_阿里云短信PythonSDK的用法

    阿里云知识 阿里云短信PythonSDK的用法 阿里云短信PythonSDK的用法示例代码 # coding=utf-8 from jdcloud_sdk.core.credential import ...

最新文章

  1. hadoop fs命令无法使用_「大数据」「Hadoop」HDFS的配置与管理
  2. python3精简笔记——开篇
  3. 什么是 BCH、比特现金新地址?
  4. 3.11 TensorFlow-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  5. 纯JavaScript实现的调用设备摄像头并拍照的功能
  6. cheatengine找不到数值_“不会找问题”,只配在底层,最高效的思维方式导图,人生开挂!...
  7. centos7下安装nginx的方法
  8. 【转】基于easyui开发Web版Activiti流程定制器详解(一)——目录结构
  9. Qt4_实现自定义委托
  10. 利用Zipkin对Spring Cloud应用进行服务追踪分析
  11. Dubbo透传traceId/logid的一种思路
  12. 如何保证缓存与数据库的双写一致性
  13. CentOS7使用yum方式安装Docker(根据官方文档安装)
  14. amd raid linux驱动,AMD 磁盘阵列控制器 驱动程序下载——更新 AMD 软件
  15. 其他总结(三)--window关闭或打开资源管理器
  16. js制作12进制的时钟特效
  17. canvas——绘制图片——动图制作
  18. 记录Android开发过程中遇到的疑难问题
  19. FindPic 找图
  20. C语言对浮点数变量小数点后两位的四舍五入

热门文章

  1. Java项目酒店管理系统(java+SSM+Maven+LayUI+mysql)
  2. 天成之作,踏云而来——“天成云”升级发布,领航企业云计算发展第三阶段
  3. 【C#】System.MissingMethodException:Method not found: 'xxx.get_xxx()'
  4. Windows 下安装MIMIC-IV
  5. (列表,字典练习)寻找班级里面名字最长的人
  6. markdown 希腊字母
  7. Android日期加任意天数计算方式
  8. 以计算机专业为主的活动,院系宣传 | 计算机科学与技术系:以梦为码
  9. [BJDCTF 2nd] Web复现 wp
  10. windows7英文版,变为中文版