阿里云短信接口调用
环境准备
安装composer并切换到阿里云源
cd到项目根目录
根据阿里云示例安装 composer require alibabacloud/smsintl
直接在api/controller/common源码里引用
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
public function smsaliyun($mobile,$code){
// 此处填写你的阿里云 key 和 server
AlibabaCloud::accessKeyClient('akey', 'skey')
->regionId('cn-hangzhou')
->asDefaultClient();
try {
$result = AlibabaCloud::rpc()
->product('Dysmsapi')
// ->scheme('https') // https | http
->version('2017-05-25')
->action('SendSms')
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => [
'RegionId' => "cn-hangzhou",
'PhoneNumbers' => $req['mobile'],
'SignName' => "【填写你的短信模板签名】",
'TemplateCode' => "SMS_199920034【你的短信模板】",
// 'TemplateParam' => "{\"code\":\"123456\"}",
'TemplateParam' => "{\"code\":\"".$code."\"}",
],
])
->request();
$this->success('发送成功', $result->toArray());
} catch (ClientException $e) {
$this->error('发送失败',$e->getErrorMessage() . PHP_EOL);
} catch (ServerException $e) {
$this->error('发送失败',$e->getErrorMessage() . PHP_EOL);
}
}