thinkphp6 调用阿里云短信服务发送验证码
发布时间:2022-02-22, 11:56:58 分类:PHP | 编辑 off 网址 | 辅助
图集1/2
正文 2570字数 566,393阅读
composer安装sdk
composer require alibabacloud/sdk
Run code
Cut to clipboard
新建send_sms方法
common.php里新建send_cms
/**
* 发送短信
*/
if (!function_exists("send_sms")) {
function send_sms ($params,$signName='短信签名') {
if (empty($params['phone']) ||strlen($params['phone'])!=11) {
throw new Exception('手机号错误');
return false;
}
$AccessKeyId='L*I5*****';
$Secret='z******Bxj';
// 创建客户端
AlibabaCloud\Client\AlibabaCloud::accessKeyClient($AccessKeyId, $Secret)
->regionId('cn-hangzhou')
->asDefaultClient();
try {
$result = AlibabaCloud\Client\AlibabaCloud::rpc()
->product('Dysmsapi')
->version('2017-05-25')
->action('SendSms')
->host('dysmsapi.aliyuncs.com')
->options([
// 这里的参数可以在openAPI Explorer里面查看
'query' => [
'RigionId' => 'cn_hangzhou',
'PhoneNumbers' => $params['phone'], // 输入的手机号
'SignName' => $signName, // 签名信息
'TemplateCode' => $params['code'], // 短信模板id
'TemplateParam' => $params['param'] // 可选,模板变量值,json格式
]
])
->request();
// print_r($result->toArray());
return $result->toArray();
} catch (ClientException $e) {
throw new Exception($e->getErrorMessage() . PHP_EOL);
echo $e->getErrorMessage() . PHP_EOL;
} catch (ServerException $e) {
throw new Exception($e->getErrorMessage() . PHP_EOL);
echo $e->getErrorMessage() . PHP_EOL;
}
}
}
Run code
Cut to clipboard
控制器中调用方法
$params = [
'phone' => $phone,
'code' => 'SMS_23*****',
'param' => json_encode([
'name' => $name,
'card' => $card,
'long' => $s_l_na['0'],
'lat' => $s_l_na['1'],
'time' => $s_time_str,
])
];
$res = @send_sms($params);
Run code
Cut to clipboard
thinkphp6 调用阿里云短信服务发送验证码功能实现
thinkphp 对接阿里云短信支付,其主要是新版composer对接阿里短信
TP6 阿里云短信SDK接口开发
(支付宝)给作者钱财以资鼓励 (微信)→
有过 2 条评论 »