模板 自定义view文件夹 中间件 路由和路由函数 自定义多个route文件 session无效 自定义多个公共函数 中间件别名和数据库连接 伪静态 自定义类库extends 以年月日+编号拼接id,且编号每天从0开始 跨域 宝塔面板新建网站403 网页包含过多重定向 缓存 路由绑定子域名 方法参数错误 php导出excel时身份证变成科学技术法 获取路由参数 生成二维码phpqrcode 使用腾讯OCR(扫描) thinkphp6微信支付回调不访问 查询构造器 导入导出excel:安装使用 导入导出Excel:按日期导出 tp6腾讯云短信 thinkphp unserialize(): Error chinese-calendar 将base64保存到本地

tp6腾讯云短信

首页 > PHP > Thinkphp6 更新日期:2022-11-23 08:53:51

先安装插件

composer require tencentcloud/tencentcloud-sdk-php

引入

// 导入对应产品模块的client
use TencentCloud\Sms\V20210111\SmsClient;
// 导入要请求接口对应的Request类
use TencentCloud\Sms\V20210111\Models\SendSmsRequest;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Common\Credential;
// 导入可选配置类
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;

代码

public function SendSms(){
    try {
        $param = $this->request->param();
        $phone = $param["phone"];
        $cred = new Credential("secretId", "secretKey");
        //$cred = new Credential(getenv("TENCENTCLOUD_SECRET_ID"), getenv("TENCENTCLOUD_SECRET_KEY"));
        // 实例化一个http选项,可选的,没有特殊需求可以跳过
        $httpProfile = new HttpProfile();
        // 配置代理
        // $httpProfile->setProxy("https://ip:port");
        $httpProfile->setReqMethod("GET");  // post请求(默认为post请求)
        $httpProfile->setReqTimeout(30);    // 请求超时时间,单位为秒(默认60秒)
        $httpProfile->setEndpoint("sms.tencentcloudapi.com");  // 指定接入地域域名(默认就近接入)
        // 实例化一个client选项,可选的,没有特殊需求可以跳过
        $clientProfile = new ClientProfile();
        $clientProfile->setSignMethod("TC3-HMAC-SHA256");  // 指定签名算法(默认为HmacSHA256)
        $clientProfile->setHttpProfile($httpProfile);
        // 实例化要请求产品(以sms为例)的client对象,clientProfile是可选的
        // 第二个参数是地域信息,可以直接填写字符串 ap-beijing,或者引用预设的常量
        $client = new SmsClient($cred, "ap-beijing", $clientProfile);
        // 实例化一个 sms 发送短信请求对象,每个接口都会对应一个request对象。
        $req = new SendSmsRequest();
        /*短信应用id*/
        $req->SmsSdkAppId = "1400274388";
        /*已审核通过的签名*/
        $req->SignName = "智慧安平";
        /* 短信码号扩展号: 默认未开通,如需开通请联系 [sms helper] */
        $req->ExtendCode = "";
        /* 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]
        * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/
        /**************************4.手机号*****************************/
        $req->PhoneNumberSet = array("+86".$phone);
        /* 国际/港澳台短信 SenderId: 国内短信填空,默认未开通,如需开通请联系 [sms helper] */
        $req->SenderId = "";
        /* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回。没啥用…… */
        $req->SessionContext = "九不准";
        /*短信模板ID*/
        $req->TemplateId = "451868";
        /*生成验证码*/
        $code = mt_rand(1000,9999);
        $req->TemplateParamSet = array($code);
        
        // 通过client对象调用SendSms方法发起请求。注意请求方法名与请求对象是对应的
        // 返回的resp是一个SendSmsResponse类的实例,与请求对象对应
        $resp = $client->SendSms($req);
        return json($resp->toJsonString());
    }
    catch(TencentCloudSDKException $e) {
        echo $e;
    }
}


标题导航