腾讯云短信接入

官方文档

官方文档

准备工作

1、已开通短信服务。
2、如需发送国内短信,需要先 购买国内短信套餐包。
3、已准备依赖环境:PHP 5.6.33 及以上版本。
4、已在访问管理控制台 >【API密钥管理】页面获取 SecretID 和 SecretKey。

第一步:安装SDK

前提:已经安装了 compose
(没安装的要先安装,compose官网链接是https://getcomposer.org/download/)

1、添加依赖

命令:composer require tencentcloud/tencentcloud-sdk-php

安装成功之后,需要在compose.json文件下引用

require '/path/to/vendor/autoload.php';

第二步:获取需要用的配置信息

    private $secretId;     //腾讯云账户密钥对 secretId 和 secretKey
    private $secretKey;
    private $sign;          //短信签名内容
    private $templateID;    // 模板 ID: 必须填写已审核通过的模板 ID。可登录 [短信控制台] 查看模板 ID
    private $sdkAppId;      //短信应用 ID: 在 [短信控制台] 添加应用后生成的实际 SDKAppID

第三步:发送短信的代码

    /**
     *  phone 手机号码
     *  code  验证码
     */
    public function send($params)
    {
        $cred = new Credential($this->secretId, $this->secretKey);

        // 实例化一个 sms 发送短信请求对象,每个接口都会对应一个request对象。
        $req = new SendSmsRequest();

        // 实例化要请求产品(以sms为例)的client对象,clientProfile是可选的
        $client = new SmsClient($cred, "ap-shanghai");

        /* 短信应用ID: 短信SdkAppid在 [短信控制台] 添加应用后生成的实际SdkAppid,示例如1400006666 */
        $req->SmsSdkAppid = $this->sdkAppId;
        /* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 [短信控制台] 查看 */
        $req->Sign = $this->sign;
        /* 短信码号扩展号: 默认未开通,如需开通请联系 [sms helper] */
        $req->ExtendCode = "0";
        /* 下发手机号码,采用 e.164 标准,+[国家或地区码][手机号]
         * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/
        $phone = "+86" . $params['phone'];
        $req->PhoneNumberSet = array($phone);
        /* 国际/港澳台短信 senderid: 国内短信填空,默认未开通,如需开通请联系 [sms helper] */
        $req->SenderId = "";
        /* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回 */
        $req->SessionContext = "";
        /* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */
        $req->TemplateID = $this->templateID;
        /* 模板参数: 若无模板参数,则设置为空*/
        $req->TemplateParamSet = array($params['code'], '5');

        // 通过client对象调用DescribeInstances方法发起请求。注意请求方法名与请求对象是对应的
        // 返回的resp是一个DescribeInstancesResponse类的实例,与请求对象对应
        $resp = $client->SendSms($req);
        $resp = $resp->toJsonString();
        $params['resp'] = $resp;

        $respArr = json_decode($resp,true);
        if($respArr['SendStatusSet'][0]['Code'] != 'Ok'){
            return [ 'msg' => '发送失败'];
        }
        return ['msg' => '发送成功'];
    }

结束。

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值