ThinkPHP6.0 发送阿里云短信

692 阅读1分钟

一、登录阿里云,注册短信服务

1.阿里云短信服务:dysms.console.aliyun.com/overview

短信签名 image.png

短信模板

image.png

二、ThinkPHP接入阿里云短信

接入文档:help.aliyun.com/document_de…

进入文档中心,点击调试按钮

image.png

image.png

如果能够调试成功,点击左侧SDK事例进行下载即可

image.png

thinkphp 安装阿里云短信扩展

composer require alibabacloud/dysmsapi-20170525 2.0.9

image.png

三、进行发送短信

image.png

<?php
declare (strict_types = 1);

namespace app\Api\controller;

use think\Request;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;

use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;

class Msg
{

    /**
     *发送短信验证码
     * @return \think\Response
     */
    public function sendCode(Request $request)
    {
        //接收手机号参数
        $phone= $request->post('phone');
        //这个是验证码
        $code = ['code'=>rand(1111,9999)];
        //发短信
        $client = self::createClient("自己key", "自己的密钥");
        $sendSmsRequest = new SendSmsRequest([
            "phoneNumbers" => $phone,
            "signName" => "空城旧梦狂啸当歌",
            "templateCode" => "SMS_221080693",
            "templateParam" => json_encode($code)
        ]);
        // 复制代码运行请自行打印 API 的返回值
       $data =  $client->sendSms($sendSmsRequest);
       print_r($data);die;

    }


    /**
     * 使用AK&SK初始化账号Client
     * @param string $accessKeyId
     * @param string $accessKeySecret
     * @return Dysmsapi Client
     */
    public static function createClient($accessKeyId, $accessKeySecret){
        $config = new Config([
            // 您的AccessKey ID
            "accessKeyId" => $accessKeyId,
            // 您的AccessKey Secret
            "accessKeySecret" => $accessKeySecret
        ]);
        // 访问的域名
        $config->endpoint = "dysmsapi.aliyuncs.com";
        return new Dysmsapi($config);
    }

}