关于腾讯云短信 API 成功调用的分享
腾讯云短信签名申请我用的个人公众号,很快就过审了,在这把需要注意的跟大家说一下。我发现很多人都没提到重点,复制粘贴党容易踩坑。
签名审核通过后,创建正文模板,如下图:
然后按照书本教程基本操作完成后,下面对异同部分进行补充:
一、easysms.php文件内容:
<?php
return [
// HTTP 请求的超时时间(秒)
'timeout' => 5.0,
// 默认发送配置
'default' => [
// 网关调用策略,默认:顺序调用
'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,
// 默认可用的发送网关
'gateways' => [
'qcloud','yunpian',
],
],
// 可用的网关配置
'gateways' => [
'errorlog' => [
'file' => '/tmp/easy-sms.log',
],
'yunpian' => [
'api_key' => env('YUNPIAN_API_KEY'),
],
'qcloud' => [
'sdk_app_id' => env('QCLOUD_SMS_APP_ID'), // 要在.env文件配置好相应的值
'app_key' => env('QCLOUD_SMS_APP_KEY'), // 要在.env文件配置好相应的值
],
],
];
二、sdk_app_id和app_key的值 ,在你签名审核通过后,在腾讯云短信控制台->应用管理->应用列表应该能看到这样对信息:
点击进去应该能看到这样的信息:
将上面对应的id和key值复制上来粘贴到.env文件相应位置即可。
三、进入php artisan tinker后,代码如下:
$sms = app('easysms');
try {
$sms->send(1351123123, [
'content' => '【你的签名内容】您好,您的验证码为:112233,请于30分钟内填写。如非本人操作,请忽略本短信。',
]);
} catch (\Overtrue\EasySms\Exceptions\NoGatewayAvailableException $exception) {
$message = $exception->getException('qcloud')->getMessage();
dd($message);
}
注意:【】里的内容为你的腾讯云短信控制台界面->签名管理->内容里的值,如下图:
至于验证码和分钟数与腾讯云短信申请的变量对应即可。有不明白的欢迎讨论。