第一步:composer SDK
composer require alibabacloud/dysmsapi-20170525
第二步:引用
<?php
/*
* @S: ========================================================
* @Name: 控制器:
* @Author: Fu
* @Date: 2022-10-06 17:27:05
* @FilePath: application/api/controller/Sample.php
* @E: ========================================================
*/
// This file is auto-generated, don't edit it. Thanks.
namespace app\api\controller;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;
use think\Db;
class Sample
{
/**
* 使用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);
}
/**
* @param string[] $args
* @return void
*/
public static function main($tel,$code)
{
$client = self::createClient("accessKeyId","accessKeySecret");
$sendSmsRequest = new SendSmsRequest([
"phoneNumbers" => $tel,
"signName" => "你的签名",
"templateCode" => "SMS_xxxxxxx", //替换成你的
"templateParam" => "{\"code\":\"$code\"}"
]);
// 复制代码运行请自行打印 API 的返回值
$res = $client->sendSms($sendSmsRequest);
if($res->body->code == "OK"){
return 1;
}else{
return 0;
}
}
}
第三部:其他控制器中引用
namespace app\api\controller;
use app\api\controller\Sample;
class Index extends Api
{
public function sms()
{
$rand = rand(0000,9999);
$res = Sample::main("13312345678",$rand);
if($res) {
return "成功";
}else{
return "失败";
}
}
}
到这里就是发送短信的整个过程