CodeIgniter 3 如何发送短信(腾讯短信服务)

腾讯短信服务 PHP SDK 文档地址: https://cloud.tencent.com/document/product/382/9557
腾讯短信服务 PHP SDK GitHub地址: https://github.com/qcloudsms/qcloudsms_php

  1. application/controllers 目录下新建一个 Sms.php 文件
  2. 示例代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    use Qcloud\Sms\SmsSingleSender;

    class Sms extends CI_Controller {
    public function index()
    {
    $data = $this->input->get();
    // 需要发送短信的手机号码 $data['phone']
    // var_dump($data['phone']);die;
    // 短信应用 SDK AppID
    $appid = 1400567890; // SDK AppID 以1400开头
    // 短信应用 SDK AppKey
    $appkey = "25ksjfkdsjfkdsjfk***************";
    // 短信模板 ID,需要在短信控制台中申请
    $templateId = 7839; // NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
    $smsSign = "腾讯云"; // NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台申请
    $val_1 = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT); // 短信内容形参 1
    $val_2 = 3; // 短信内容形参 2

    try {
    $ssender = new SmsSingleSender($appid, $appkey);
    $result = $ssender->send(0, "86", $data['phone'],
    "{$val_1}为您的登录验证码,请于{$val_2}分钟内填写。如非本人操作,请忽略本短信。", "", "");
    // "{$val_1}为您的登录验证码,请于{$val_2}分钟内填写。如非本人操作,请忽略本短信。" 这个是你申请短信模板里短信正文的内容
    $rsp = json_decode($result);
    var_dump($rsp);die; // 这个是测试的时候打印一下信息
    echo $result;
    } catch(\Exception $e) {
    echo var_dump($e);
    }

    }
    }
  3. 在浏览器上输入网址: http://api.boke.test/sms?phone=13212345678 然后回车运行,相信这时候你应该收到了短信。

    1
    2
    http://api.boke.test  // 这个是你开发时的测试域名
    13212345678 // 请换成你自己的手机号码
  4. 上面例子只是一个发送单条短信的简单例子,如果需要群发短信或者其他需求的话,还是认真阅读腾讯云短信官方文档,这一篇文章只是带你入门。

SPhard wechat
欢迎您扫一扫上面的微信公众号( 或者搜索:darrenliuwei )订阅
如果觉得本文对您有启发,可以随意打赏一点鼓励我继续更新!