阿里云链接:https://dysms.console.aliyun.com/overview
国内消息
第一步:新增资质
第二部:新增签名(签名即是短信的开头标题)
第三部:新增模板(分验证码和通知两种)
Event::trigger('AliSms', [
"phoneNumbers" => $wxPost['phone'],
"signName" => "个人技术",
"templateCode" => "SMS_46594552",
"templateParam" => "{\"content\":\"{$data['reason']}\"}"
]);
<?php
namespace app\listener;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use Darabonba\OpenApi\Models\Config;
class AliSmsListener
{
public function handle($event)
{
return $this->smsgo($event);
}
public function createClient(){
// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
// 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/311677.html。
$config = new Config([
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
"accessKeyId" => '123',
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
"accessKeySecret" => '123'
]);
//dump($config);
// Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi
$config->endpoint = "dysmsapi.aliyuncs.com";
return new Dysmsapi($config);
}
public function smsgo($param){
$client = $this->createClient();
$sendSmsRequest = new SendSmsRequest($param);
$runtime = new RuntimeOptions([]);
try {
// 复制代码运行请自行打印 API 的返回值
$client->sendSmsWithOptions($sendSmsRequest, $runtime);
return true;
}
catch (\Exception $error) {
return false;
}
}
}