使用SDK发送短信验证码

后台短信操作,对于经常写API的同学是否是家常便饭呢?

1. 而如今,市场上充斥着大量的可供使用的第三方短信转发平台,是否有你中意的一款呢?

2. 这些平台普遍有着正常的api接口,以及SDK文件调用的方法来使用;

3. 当然如果图方便,可以直接使用API,然后curl传递数据即可实现简单的短信验证码效果

4. 当然不要遗忘下面这种看似复杂,却很简单的 使用SDK类文件方式发送短信验证码,我采用的平台是submail,其他平台的SDK类似:


  (1) 下载SDK文件包,一般官网会有到github的链接

  (2) 在文件夹中找到 message.php 、 messagexsend.php 这两个核心文件,拷贝到你的项目文件夹下

  (3) 修改messagexsend.php文件下的构造方法为:


    public function __construct()
    {
        $this->appid = 'xxxxx';
        $this->appkey = '36426a9f6xxxxxxxxxxxbed8583a3c';
        $this->sign_type = 'normal';
    }


 (4) 创建处理文件 sdkPhone.php ,调用类文件 messagexsend.php

<?php

//加载submail平台的类文件
require './resource/messagexsend.php';

class SdkPhone
{

    public $phone = '133xxxx9858';
    public $code = '123122';

    public function __construct()
    {
        $this->sendPhone();
    }

    private function sendPhone()
    {
        $submail = new MESSAGEXsend();
        $submail->setTo($this->phone);
        $submail->SetProject('xxxxx');
        $submail->AddVar('time', 60);
        $submail->AddVar('code', $this->code);
        $xsend = $submail->xsend();

        //判断返回结果
        if ($xsend['status'] !== 'success') {
            $this->returnMsg(400, $xsend['msg']);
        } else {
            $this->returnMsg(200, '手机验证码发送成功,每天发送5次,请在一分钟内验证!');
        }
    }

    private function returnMsg($code, $msg = '', $data = [])
    {
        $return_data['code'] = $code;
        $return_data['msg'] = $msg;
        $return_data['data'] = $data;

        echo json_encode($return_data);die;
    }
}

new SdkPhone();

  

    (5) 输出结果:

      {"code":200,"msg":"手机验证码发送成功,每天发送5次,请在一分钟内验证!","data":[]} 

  

   (6)至于该短信类中的实现方法,在 submail 官网有文档批注;

     案例源码: https://github.com/RiversCoder/php-exercises


猜你喜欢

转载自blog.csdn.net/wu5229485/article/details/79806260