tp6 对接阿里云短信

news2024/12/23 19:13:36

1、获取AccessKey ID,AccessKey Secret,第一次会提示需要创建

2、添加签名 

 3、创建模板

 

composer版本太老了,可能会导致下载失败,建议升级下版本 

官方提供的最新依赖版本,我的会报错,下载不了,提示用2.0.20版本

composer require alibabacloud/dysmsapi-20170525 2.0.23

 我用的是这版本

composer require alibabacloud/dysmsapi-20170525 2.0.20

封装一个类放到 app\index\controller\Admin\AliSms.php下(位置随意,找得到就行)

<?php

namespace app\controller\Admin;

use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;

class AliSms
{
    /**
     * 使用AK&SK初始化账号Client
     * @param string $accessKeyId
     * @param string $accessKeySecret
     * @return Dysmsapi Client
     */
    public static function createClient($accessKeyId, $accessKeySecret){
        $config = new Config([
            // 您的 AccessKey ID
            "accessKeyId" => "*********",
            // 您的 AccessKey Secret
            "accessKeySecret" => "*******"
        ]);
        // 访问的域名
        $config->endpoint = "dysmsapi.aliyuncs.com";写死
        return new Dysmsapi($config);
    }

    /**
     * @param string[] $args
     * @return array
     */
    public static function main($args){
        $client = self::createClient("accessKeyId", "accessKeySecret");
        $sendSmsRequest = new SendSmsRequest([
            "phoneNumbers" => $args['phone'],  //发送的手机号码
            "signName" => "短信签名",  //签名
            "templateCode" => $args['template'],  //模板CODE
            "templateParam" => json_encode($args['info'])  //这个根据你的模板信息来
        ]);

        $result = $client->sendSms($sendSmsRequest);
        if ($result->body->message == 'OK' && $result->body->code == 'OK') {
            return ['code' => 200,'message'=>'success'];
        }
        if ($result->body->code == 'isv.MOBILE_NUMBER_ILLEGAL') {
            return ['code' => 200, 'message' => '手机号码格式不正确'];
        }
        return ['code' => 200, 'message' => '短信发送失败,网络繁忙'];
    }
}

 方法中调用

<?php
namespace app\controller\Admin;

use app\BaseController;

class Index extends BaseController
{  
 
    //调用方法
    public function apisms()
    {
        $data = [
            'phone'=> '13******',
            'template' => 'SMS_********',
            'info' => ['name'=>'测试','time'=>'2022-10-30']  //根据模板里面的变量来填写
        ];
        //调用阿里云短信发送方法
        $send = new AliSms;
        $result = $send::main($data);
        //var_dump($result);
        //die;
     }
}
?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Studio 下真机调试

文章目录 一、开启真机调试二、断开真机调试 一、开启真机调试 准备USB调试线&#xff0c;一端插在电脑USB接口上&#xff0c;另一端插在手机充电口上。 下面以自己的手机&#xff08;huawei nova 5 &#xff09;为例&#xff1a;点击手机界面上的设置应用。 然后往下找到 【关…

经典神经网络(1)LeNet及其在Fashion-MNIST数据集上的应用

经典神经网络(1)LeNet 1、卷积神经网络LeNet 之前对于Fashion-MNIST服装分类数据集&#xff0c;为了能够应⽤softmax回归和多层感知机&#xff0c;我们⾸先将每个大小为28 28的图像展平为⼀个784维的固定⻓度的⼀维向量&#xff0c;然后⽤全连接层对其进⾏处理&#xff0c;此…

函数式接口的介绍和使用(FunctionInterface)——Consumer,Supplier,Predicate、Function

函数式接口(Functional Interface)就是一个有且仅有一个抽象方法&#xff0c;但是可以有多个非抽象方法的接口。 函数式接口可以被隐式转换为 lambda 表达式。 函数式接口都添加了 FunctionalInterface 注解&#xff0c;这个是jdk1.8才引进的。例如 因为函数式接口里面只是…

【C++】| 01——泛型编程 | 模板

系列文章目录 【C】| 01——泛型编程 | 模板 文章目录 1. 认识泛型编程2. 函数模板1.1 函数模板的语法1.1.1 定义模板1.1.2 应用模板实现函数1.1.3 使用模板函数(实例化)1.1.3.1 隐式使用(实例化)1.1.3.2 显式使用(实例化)1.1.3.3 使用函数模板的注意事项(实例化) 2. 类模板2.…

第1章 Nginx简介

基于 Nginx版本 1.14.2 &#xff0c;Tomcat版本 9.0.0 演示 第1章 Nginx简介 1.1 Nginx发展介绍 Nginx &#xff08;engine x&#xff09; 是一个高性能的Web服务器和反向代理服务器&#xff0c;也可以作为邮件代理服务器。 Nginx 特点是占有内存少&#xff0c;并发处理能力…

南京邮电大学数据库实验二(DBMS的数据库保护)

文章目录 一、实验目的和要求二、实验环境(实验设备)三、实验原理及内容(1) DBMS的数据库保护功能(2) 安全控制中的访问控制机制(3) 事务的提交与回滚(4) 并发控制的锁机制 三、实验内容1.以root账户登录数据库管理系统&#xff0c;创建用户U1和U2&#xff0c;密码自定。2.创建…

Redis 入门教程(简单全面版)

1 安装&#xff1a; 1.1 生产环境安装 注意&#xff1a; 1、如果安装过程有问题可以参考源代码中的 README.md 文件 2、如果服务器只安装一个 redis 通常选择 /usr/local/redis 作为安装目录&#xff0c;如果安装多台则建议带上 服务名称 区分&#xff08;建议带上 服务名称 区…

jvm-狂神课程

一、JVM JVM就是Java虚拟机&#xff0c;Java虚拟机就是JVM 1. JVM位置 1、Java程序&#xff08;跑的环境是在jvm&#xff08;虚拟机&#xff09;跑的&#xff0c;也可以说是在jre上跑的&#xff09;java运行是需要在特定的环境的也就是这个jre这种。 2、jvm&#xff08;也就是…

别不信:这些细节关乎你的物联网设备的命运!

《高并发系统实战派》-- 值得拥有 一、设备接入层网络协议的意义 随着物联网的发展&#xff0c;越来越多的设备需要接入云平台进行远程监控和管理。设备接入层网络协议起到了承担设备接入网络的功能&#xff0c;为物联网平台提供了数据交互的基础。设备接入层网络协议对于物联…

【C++ 入坑指南】(01)学习路线

入门 1. 推荐书籍 《Accelerated C》&#xff0c;《Essential C》二选一精读。《A Tour of C》选读。 《Accelerated C》很适合新手&#xff0c;因为只有短短不到 300 页&#xff0c;在普遍一样的入门书籍里面是一股清流。容易通读完&#xff0c;减少挫败感。就这样的篇幅&am…

【每天学习一点新知识】如何绕过CDN查真实ip

1、什么是CDN 为了防止流量过大网络堵塞&#xff0c;我们就在靠近用户的地方&#xff0c;建一个缓存服务器&#xff0c;把远端的内容复制一份&#xff0c;放在这里&#xff0c;简单来说就是将内容缓存在终端用户附近。 2、怎么绕过cdn找到远端服务器的真实ip呢&#xff1f; &…

FS2462是泛海微自主开发的5A降压型同步整流芯片

FS2462是泛海微自主开发的5A降压型同步整流芯片&#xff0c;是国内首家大电流同步5A芯片&#xff0c;内部集成极低RDS内阻20豪欧金属氧化物半导体场效应晶体管的(MOSFET)。输入工作电压宽至4.75V到21V&#xff0c;输出电压1.0V可调至20V。5A的连续负载电流输出可保证系统各状态…

Landing AI:计算机视觉数据标注AI平台

【产品介绍】 Landing AI是一家由人工智能领域的知名专家、Coursera联合创始人、前百度首席科学家、Google大脑创始负责人吴恩达博士创立的公司&#xff0c;旨在为各行各业提供先进的计算机视觉解决方案。 Landing AI的核心产品是LandingLens&#xff0c;一个基于云端的计算机视…

前端开发代码规范工具

规范化是前端工程化的一个重要部分。现在&#xff0c;有许多工具能够辅助我们实行代码的规范化,比如你一定知道的 ESLint 和 Prettier。 今天&#xff0c;来聊聊这些工具的工作原理和基本使用&#xff0c;了解它们是如何发挥作用的&#xff0c;以及如何更好地利用这些工具去规…

AI成功破译古老未知语言,人工智能技术开辟历史研究新时代

近年来&#xff0c;人工智能在各个领域取得了突飞猛进的发展&#xff0c;成为了当今社会讨论的热点。尽管有关其使用的争议不断&#xff0c;但AI技术在某些方面的作用已经不容忽视。 最近&#xff0c;以色列特拉维夫大学和阿里尔大学的研究者们联手研发了一款能够破译古老未知…

Nature:刘清华团队揭示调控睡眠时间的关键分子通路

导读 你能做到一周不睡觉吗&#xff1f;良好的睡眠对我们保证生活质量十分重要。不过&#xff0c;有些人每天只需睡4-6个小时&#xff0c;有些人则需要8个小时&#xff08;可能还不够&#xff09;&#xff0c;这是什么原因导致的&#xff1f; 其实&#xff0c;这也是很多科学…

阿里云服务器镜像是什么意思?

阿里云服务器镜像是云服务器的装机盘&#xff0c;镜像是为云服务器安装操作系统的。云服务器镜像系统怎么选择&#xff1f;云服务器操作系统镜像分为Linux和Windows两大类&#xff0c;Linux可以选择Alibaba Cloud Linux&#xff0c;Windows可以选择Windows Server 2022数据中心…

怎样恢复删除的视频?这5个方法才是正确答案!

案例&#xff1a;怎样恢复删除的视频&#xff1f; 【我是个视频爱好者&#xff0c;平常会在电脑中存很多视频&#xff0c;但也经常会将很多视频误删&#xff0c;怎样恢复删除的视频呢&#xff1f;希望大家给我一些建议&#xff01;】 在摄影摄像技术较发达的今天&#xff0c;…

cond conv 代码-思想

参考博客&#xff1a; 1 解析图示最清楚动态卷积之CondConv思想和代码实现_&永恒的星河&的博客-CSDN博客 2 知乎的解释&#xff0c;简洁明了CondConv代码解析 - 知乎 知乎提供code&#xff1a;External-Attention-pytorch/CondConv.py at master xmu-xiaoma666/Extern…

详解MySQL索引失效

目录 B树结构 测试数据 索引失效的情况 没有用到索引 违反左前缀原则 范围查询断索引 like需要分情况 结果数据超过半数 B树结构 索引失效的根本原因其实就是违反了B树的结构特性&#xff0c;查找的时候没办法在B树上继续走下去&#xff0c;所以首先我们来回顾一下B树…