后台短信操作,对于经常写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