一、登录阿里云开通短信验证码
1、正常添加,等待审核成功,获取自己的账号的access_key 以及access_secret 进到下边界面创建就行,保存好
二、下载阿里云SDK包
composer require alibabacloud/sdk
三、thinkphp6 基本操作
1、三个文件 第一个是config下的sms。修改红框内容为自己的内容。在上面几个步骤里面都有,找下填写 。以下单成功为例子 :外面的place是自己起的名字。里面的内容是在最后一张图添加模板之后能看见的信息。签名就是第三张图的名字access_key 以及access_secret ,换成上边自己的。最下面的template_id是模板里面的
2、\app\common 在公共文件夹下创建sms.php ,写入方法
<?php
// +----------------------------------------------------------------------
// | 胜家云 [ SingKa Cloud ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2020 https://www.singka.net All rights reserved.
// +----------------------------------------------------------------------
// | 宁波晟嘉网络科技有限公司
// +----------------------------------------------------------------------
// | Author: ShyComet <shycomet@qq.com>
// +----------------------------------------------------------------------
namespace app\common;use SingKa\Sms\SkSms;
use think\facade\Config;class Sms
{/*** 短信发送示例** @mobile 短信发送对象手机号码* @action 短信发送场景,会自动传入短信模板* @parme 短信内容数组*/public function sendSms($mobile, $action, $parme){//$this->SmsDefaultDriver是从数据库中读取的短信默认驱动//$SmsDefaultDriver = $this->SmsDefaultDriver ?: 'aliyun';$SmsDefaultDriver = 'aliyun';//$this->SmsConfig是从数据库中读取的短信配置//$config = $this->SmsConfig ?: Config::get('sms.'.$SmsDefaultDriver);$config = Config::get('sms.'.$SmsDefaultDriver);$sms = new sksms($SmsDefaultDriver, $config);//传入短信驱动和配置信息//判断短信发送驱动,非阿里云和七牛云,需将内容数组主键序号化//if ($this->SmsDefaultDriver == 'aliyun') {$result = $sms->$action($mobile, $parme);//} elseif ($this->SmsDefaultDriver == 'qiniu') {// $result = $sms->$action([$mobile], $parme);//} elseif ($this->SmsDefaultDriver == 'upyun') {// $result = $sms->$action($mobile, implode('|', $this->restoreArray($parme)));//} else {// $result = $sms->$action($mobile, $this->restoreArray($parme));//}if ($result['code'] == 200) {$data['code'] = 200;$data['msg'] = '短信发送成功';} else {$data['code'] = $result['code'];$data['msg'] = $result['msg'];}return $data;}// /**
// * 数组主键序号化
// *
// * @arr 需要转换的数组
// */
// public function restoreArray($arr)
// {
// if (!is_array($arr)){
// return $arr;
// }
// $c = 0;
// $new = [];
// foreach ($arr as $key => $value) {
// $new[$c] = $value;
// $c++;
// }
// return $new;
// }
}
2、最后在你需要的地方调用这个方法就行了
use app\common\Sms;$Sms = new Sms();$Sms->sendSms($tel,'place', ['code' => mt_rand(1000, 9999)]);