thinkphp5对接腾讯云短信接口

admin 发布于 ThinkPhp

1.应用根目录下使用composer导入腾讯云短信提供的PHP SDK。

composer require qcloudsms/qcloudsms_php

【或者把下载完整的sdk放到vendor,注意目录结构


2、申请应用,签名,模版。
必须申请签名与模版。
申请应用:https://cloud.tencent.com/document/product/382/13445
申请签名模版:https://cloud.tencent.com/document/product/382/13481

签名可根据相关文档说明申请。
模版申请的为标准验证码模版。
模版:{1}为您的登录验证码,请于{2}分钟内填写。如非本人操作,请忽略本短信。
若想一次通过本示例发送短信成功,请申请相同模版,以免导致发送失败。

签名和模版必须全部通过。
测试前请在腾讯云短信控制台添加你的手机为白名单。

3、使用短信接口

(1)导入对应类文件

use Qcloud\Sms\SmsSingleSender;
(2)短信发送

public function smsSend(){
        // $appid $appkey $templateId $smsSign为官方demo所带,请修改为你自己的
        // 短信应用SDK AppID
        $appid = 申请的appid;
        // 短信应用SDK AppKey
        $appkey =申请的appkey;
        // 你的手机号码。
        $phoneNumber =接收短信的手机号码;
        // 短信模板ID,需要在短信应用中申请
        $templateId = 对应模板;  // NOTE: 这里的模板ID`7839`只是一个示例,真实的模板ID需要在短信控制台中申请
        // 签名
        $smsSign = 对应签名; // NOTE: 这里的签名只是示例,请使用真实的已申请的签名,签名参数使用的是`签名内容`,而不是`签名ID`
        // 短信模板 ID,需要在短信控制台中申请

        // 单发短信
        try {
//            $ssender = new SmsSingleSender($appid, $appkey);
//            $result = $ssender->send(0, "86", $phoneNumber,
//                "123456为您的登录验证码,请于5分钟内填写。如非本人操作,请忽略本短信。", "", "");
//            $rsp = json_decode($result);
//            echo $result;
            $ssender = new SmsSingleSender($appid, $appkey);
            $params = ["5678"];
            $result = $ssender->sendWithParam("86", $phoneNumber, $templateId,$params, $smsSign, "", "");
//            $rsp = json_decode($result);
            echo $result;


        } catch(\Exception $e) {
            echo var_dump($e);
        }

    }

416浏览量 · 0评论 · 2020-02-15 07:33:49

全部评论  0

注册登录 进行评论

热门专题

更多专题