本文是使用htinkphp6 + 阿里大于发送短信的使用案例
在接口中使用到了”alibabacloud/sdk”: “^1.8” 的sdk,需要在此之前事先通过composer安装
/**
* 发送短信
* @param string $mobile 手机号码
* @param array $templateParam 设置短信模板参数
* @param string $templateCode 模板code
* @return bool 是否发送成功
*/
public function sendVerifySms($mobile, $templateParam, $templateCode)
{
try {
//获取配置信息
$config = [
'access_key_id' => 'xxx',
'access_key_secret' => 'xxxx',
'sign_name' => 'xx平台',
'template_code' => [
'verify' => 'xxx',
]
];
// 创建客户端
AlibabaCloud::accessKeyClient($config['access_key_id'], $config['access_key_secret'])
->regionId('cn-hangzhou')
->asDefaultClient();
//调用阿里云短信发送接口
$result = AlibabaCloud::rpc()
->product('Dysmsapi')
//可根据实际情况选择不同的服务地区
->regionId('cn-hangzhou')
->version('2017-05-25')
->action('SendSms')
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => [
'RegionId' => 'cn-hangzhou',
'PhoneNumbers' => $mobile,
'SignName' => $config['sign_name'],
'TemplateCode' => $templateCode,
'TemplateParam' => json_encode($templateParam),
],
])
->request();
//判断短信发送状态
if ($result->toArray()['Code'] == 'OK') {
return true;
} else {
return false;
}
} catch (ClientException|ServerException $e) {
return false;
}
}