tp5调用阿里云短信接口

简介: tp5调用阿里云短信接口

使用场景:

1.tp5调用阿里云短信接口实现用户登陆注册

2.tp5调用阿里云短信接口实现短信发送

1.登录阿里云账号之后 首先鼠标移动到你的头像上 点击AccessKey之后 创建

2.找到短信服务这里 申请签名 和 模板

3.之后找到 帮助文档 -> 下载php SDK

我是点击的开发指南(旧版)下载的 php SDK 非轻量版的

下载解压之后extend/alisms

之后在\config\common.php里加入西面代码

/**
 * 短信发送
 * @param $to    接收人
 * @param $code   短信验证码
 * @return json
 */
function send_sms($to, $code){
    require_once '../extend/alisms/api_sdk/vendor/autoload.php';
    Config::load(); //加载区域结点配置
    $accessKeyId = 'LTAI*********K2Hd';//创建的accessKey
    $accessKeySecret = 'AeKuI0***********Gtj40Ym';//创建的accessKeySecret
    $templateParam = $code;
    //短信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($to);
    // 必填,设置签名名称
    $request->setSignName("阿里云短信测试专用");
    // 必填,设置模板CODE
    $request->setTemplateCode("SMS_********");
    // 可选,设置模板参数
    if($templateParam) {
        $request->setTemplateParam(json_encode(['code'=>$templateParam]));//由于我的模板里需要传递我的短信验证码
    }
    //发起访问请求
    $acsResponse = $acsClient->getAcsResponse($request);
    //返回请求结果
    $result = json_decode(json_encode($acsResponse),true);
    // 具体返回值参考文档:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FK
    return $result;
}

控制器里如何调用方法:

public function code(){
        $code = rand(100000,999999);
        $phone = "填写你的手机号";
        $result = send_sms($phone,$code);
        var_dump($result);
    }
目录
相关文章
|
PHP 开发工具
ThinkPHP6.0 发送阿里云短信
一、登录阿里云,注册短信服务 1.阿里云短信服务:dysms.console.aliyun.com/overview
2594 0
Layui 内置方法 - layer.confirm(询问框)
Layui 内置方法 - layer.confirm(询问框)
1751 0
|
8月前
|
存储 前端开发 Java
Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能
### SpringBoot3 + Vue3 前后端分离的Java快速开发框架更新 本次更新主要包含以下内容: 1. **端口修改**:为避免与Minio存储服务冲突,后端启动端口从9000改为9999。 2. **添加存储支持**:集成Minio和阿里云OSS对象存储服务,详细配置请参考相关文档。 3. **短信服务**:接入阿里云短信服务,并增加模拟发送功能,方便本地测试。 4. **邮件发送**:引入邮件发送功能,支持简单文本邮件和带附件邮件。 5. **完善个人中心**:优化个人中心页面,提升用户体验。
315 85
Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能
|
9月前
|
Unix Linux 开发工具
git中有关old mode 100644、new mode 10075的问题解决小结
在 Git 中处理文件权限变更时,理解 `old mode 100644` 和 `new mode 100755` 的含义是解决问题的关键。通过确认变更的合理性、修改不必要的权限变更,以及配置 Git 忽略权限变更,可以有效管理文件权限,确保版本库的稳定性和一致性。
887 3
|
11月前
微信接口报错 "errcode":40163,"errmsg":"code been used, 如何处理?
【10月更文挑战第11天】微信接口报错 "errcode":40163,"errmsg":"code been used, 如何处理?
5284 1
|
网络协议 应用服务中间件 网络安全
阿里云免费SSL申请流程(白嫖20张SSL免费证书)2024年新版教程
本文详述了2024年最新的阿里云免费SSL证书申请流程。用户可通过阿里云数字证书管理服务控制台一键申请最多20张免费单域名SSL证书,每张证书有效期为3个月。首先登录控制台,选择“SSL证书管理”下的“个人测试证书”,同意协议并完成购买流程。之后需创建证书、输入域名等信息并进行域名验证。验证方法包括手动DNS验证、域名授权自动化验证或文件验证。完成验证后,等待审核通过即可下载适用于不同服务器类型的SSL证书。请注意,阿里云免费SSL证书到期后不支持续费,需重新申请。了解更多详情,请访问阿里云官方SSL证书页面。
|
自然语言处理 API 开发工具
初识langchain:LLM大模型+Langchain实战[qwen2.1、GLM-4]+Prompt工程
【7月更文挑战第6天】初识langchain:LLM大模型+Langchain实战[qwen2.1、GLM-4]+Prompt工程
初识langchain:LLM大模型+Langchain实战[qwen2.1、GLM-4]+Prompt工程
|
Python
Your requirements could not be resolved to an installable set of packages
Your requirements could not be resolved to an installable set of packages
8862 1
|
数据库
将tp5项目、fastadmin项目部署到服务器宝塔面板
我们开发项目时除了配置一个本地的小p+thinkPHP5+mysql开发环境外,还可以将项目上传至服务器宝塔,但是我们需要修改一些设置,本文以fastadmin为例。
1248 0
|
NoSQL Redis
32Redis - redis图形化工具安装教程
32Redis - redis图形化工具安装教程
127 0