腾讯云短信开发【PHP】
腾讯云短信控制台:https://console.cloud.tencent.com/sms
腾讯云短信 PHP SDK:https://github.com/qcloudsms/qcloudsms_php
使用Thinkphp 5.1框架
一、签名
在腾讯云的的控制台中搜索短信或者打开上面的链接,进入到短信控制台,申请签名和模板
签名申请
模板申请
二、获取SDK AppID和AppKey
通过审核之后,获取到我们开发需要的一系列数据之后,就可以进行开发测试了
云短信应用SDK AppID和AppKey可在短信控制台的应用信息里获取,如您尚未添加应用,请到短信控制台中添加应用。
以上步骤完成,拿到AppID、AppKey、签名ID、模板ID
三、安装依赖
PHP一般使用composer安装依赖
如果没有安装composer的话,请先安装好composer
在我们的TP5.1的项目根目录执行以下命令
composer require qcloudsms/qcloudsms_php
安装好依赖以后,就是写好接口啦
四、发送短信
配置短信AppID、AppKey、签名ID、模板ID
在配置文件中创建duanxin.php
封装发送短信代码
namespace app\index\controller;
use Qcloud\Sms\SmsSingleSender;
class Sms
{
/**
* 腾讯云 发送短信验证码
* @param $phone:手机号码
* @param $code:验证码
*/
public static function SendSmsCode($phone, $code)
{
$app_id = config('duanxin.app_id');
$app_key = config('duanxin.app_key');
$template_id = config('duanxin.template_id');
$sms_sign = config('duanxin.sms_sign');
try {
$sender = new SmsSingleSender($app_id, $app_key);
$params = [$code];
$result = $sender->sendWithParam("86", $phone, $template_id,
$params, $sms_sign, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
$rsp = json_decode($result);
if($rsp->result == 0){//0代表成功
return '发送成功';
}
\Log::error('发送短信验证码失败:'.$result);
} catch(\Exception $e) {
}
return '发送失败';
}
}
主方法中调用
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index()
{
$params = $this->request->param();
$phone = $params['phone'];
$code = mt_rand(100000,999999); //生产随机6位验证码
//这里可以将验证码存入到缓存当中去,以手机号作为标识
return Sms::SendSmsCode($phone,$code);
}
}
验证是否发送成功
使用API工具测试接口,注意这里是POST接口
这是手机收到的
这样就大功告成啦
感谢https://www.cnblogs.com/mg007/p/11053269.html