阿里云短信服务:https://dysms.console.aliyun.com

1、准备

1.1、创建签名、模板

1.2、创建、使用阿里云秘钥

地址:https://usercenter.console.aliyun.com

创建AccessKey ID和AccessKey Secret

2、安装

PHP >= 5.5、开启curl扩展

使用composer下载阿里云SDK

  1. composer require alibabacloud/sdk

3、使用

3.1、新建配置文件

单独配置文件保存信息

TemplateCode:模板代码而非名称

3.2、创建短信工具类

  1. <?php
  2. /**
  3. * 阿里云短信相关
  4. */
  5. namespace App\Utils;
  6. use AlibabaCloud\Client\AlibabaCloud;
  7. use AlibabaCloud\Client\Exception\ClientException;
  8. use AlibabaCloud\Client\Exception\ServerException;
  9. class AliSmsUtil
  10. {
  11. /**
  12. * 发送短信验证码
  13. * @param $phone:手机号码
  14. * @param $code:验证码
  15. */
  16. public static function sendSmsCode($phone, $code)
  17. {
  18. $config = config('alisms');
  19. $templateParam = json_encode(['code'=>$code]);
  20. try {
  21. AlibabaCloud::accessKeyClient($config['AccessKeyId'], $config['AccessKeySecret'])
  22. ->regionId($config['regionId']) // replace regionId as you need
  23. ->asDefaultClient();
  24. $result = AlibabaCloud::rpc()
  25. ->product('Dysmsapi')
  26. // ->scheme('https') // https | http
  27. ->version('2017-05-25')
  28. ->action('SendSms')
  29. ->method('POST')
  30. ->options([
  31. 'query' => [
  32. 'PhoneNumbers' => $phone,
  33. 'SignName' => $config['SignName'],
  34. 'TemplateCode' => $config['TemplateCode'],
  35. 'TemplateParam' => $templateParam,
  36. 'RegionId' => $config['regionId'],
  37. ],
  38. ])
  39. ->request();
  40. print_r($result->toArray());
  41. } catch (ClientException $e) {
  42. echo $e->getErrorMessage() . PHP_EOL;
  43. } catch (ServerException $e) {
  44. echo $e->getErrorMessage() . PHP_EOL;
  45. }
  46. }
  47. }

3.3、调用

在控制器或其它地方中调用

  1. AliSmsUtil::sendSmsCode('13*******17','FwP5');

php 阿里云短信验证码的更多相关文章

  1. Aps.Net Core3.1 WebApi发送阿里云短信验证码

    1.前言 转眼又要过了一年了 好久没写博客了,人不学就要落后,今天有时间把以前弄的发送阿里云短信验证码登录记录一下. 2.准备条件 1)去阿里云官网注册一个账号.有账号直接登录就行,以前新人好像有免费 ...

  2. c#阿里云短信验证码

    发送验证码 private static void SendAcs(string mobile, string templateCode, dynamic json, int ourid) { if ...

  3. 阿里云短信服务验证码封装类 - PHP

    本文记录在ThinkPHP6.0中使用阿里云短信验证码,该封装类不仅仅局限于TP,拿来即用 使用该类之前必须引入 flc/dysms 扩展,该封装类就是基于这个扩展写的 composer requir ...

  4. php与阿里云短信接口接入

    使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证+官方审核多次,尤其审核需要保持耐心. 1. accessKeyId  相当于你的个人账户密钥: 2. accessKeySec ...

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

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

  6. 移动端获取短信验证码java实现——阿里云短信服务

    需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...

  7. 浏览器端获取短信验证码java实现——阿里云短信服务

    需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...

  8. flask+阿里云短信服务实现注册发送手机验证码

    效果图: 该效果主要讲解实现通过调用阿里云的SDK实现发送注册验证码短信(阿里云短信付费使用) 购买阿里云短信服务 购买链接:https://www.aliyun.com/product/sms 1. ...

  9. springboot 使用阿里云短信服务发送验证码

    一.申请阿里云短信服务 1.申请签名 2.申请模板 3.创建accesskey(鼠标悬停在右上角头像) 二.代码实现 1.springboot引入maven依赖 <dependency> ...

随机推荐

  1. Python之Split函数

    python中的split()函数用来拆分一个字符串,通过指定的分隔符对字符串进行切割,返回切割后的字符串列表list. split()函数用法: str.split(str=' ',num = st ...

  2. 小程序-demo:小程序示例-page/component2

    ylbtech-小程序-demo:小程序示例-page/component2 以下将展示小程序官方组件能力,组件样式仅供参考,开发者可根据自身需求自定义组件样式,具体属性参数详见小程序开发文档. 1. ...

  3. Groupby 方法语法

    对序列进行分类汇总,汇总后产生的序列的key就是按照某个字段汇总的项 .groupby select Viewmodel三者常一起使用,用于统计.groupby 方法语法常与select 子句形成数据 ...

  4. 使用VirtualBox虚拟机搭建局域网

    参考资料: http://www.awaimai.com/995.html https://my.oschina.net/cofecafe1/blog/206535 最近公司局域网网络改造,在改造前已 ...

  5. XDCTF2015代码审计全解

    此次CTF WEB2是一个大题,一共4个flag,分别代表:获取源码.拿下前台管理.拿下后台.getshell. 目标站:http://xdsec-cms-12023458.xdctf.win/ 根据 ...

  6. UVa 12716 && UVaLive 6657 GCD XOR (数论)

    题意:给定一个 n ,让你求有多少对整数 (a, b) 1 <= b <= a 且 gcd(a, b) = a ^ b. 析:设 c = a ^ b 那么 c 就是 a 的约数,那么根据异 ...

  7. P4575 [CQOI2013]图的逆变换

    传送门 如果新的图里存在边\((u,v)\),那么说明原图中\(u\)的终点和\(v\)的起点是同一个点 于是可以对新图中的每个点维护它的起点和终点,如果有一条边就把对应两个应该相等的点用并查集连起来 ...

  8. Luogu P1137 旅行计划 【拓扑排序+Dp】By cellur925

    题目传送门 由于满足游览先后顺序从西到东的性质,我们很自然的想到用拓扑排序处理出一个合理的游览顺序. 然鹅,之后呢? 事实上,拓扑排序常与Dp相结合,解决后效性.我们就可以在每次拓扑入队的时候更新答案 ...

  9. python中threading中的lock类

    虽然线程可以在程序的执行过程中提高程序的运行效率,但是其带来的影响却难以忽略. Lock类是threading中用于锁定当前线程的锁定类.顾名思义,其作用是对当前运行中的线程进行锁定,只有当前线程被释 ...

  10. 初学Linux应该注意的事项

    相比于windows linux严格区分大小写 linux所有内容都是以文件形式保存 linux不靠扩展名区分文件类型(靠权限),linux下文件扩展名主要是方便管理员分类 linux所有的存储设备都 ...