-
最低要求 PHP 5.6
-
composer安装
//原版SDK
composer require alibabacloud/client
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
/**
* 集成方法:阿里云(原大鱼-原版SDK)发送短信
* @param string $phoneNumber 目标手机号
* TODO 注意 accessKeyId、accessSecret、signName、templateCode 重要参数的获取配置
*/
public function sendAliDaYuAuthCode($phoneNumber = '151xxxxxxx3')
{
$accessKeyId = 'LTAXXXXXXXXXC';
$accessSecret = '8gfwbXXXXXXXXXXXXXXXXXXXXXXXXXXXXA'; //注意不要有空格
$signName = 'XXXXX'; //配置签名
$templateCode = 'SMS_1XXXXXX5';//配置短信模板编号
//TODO 随机生成一个6位数
$authCodeMT = mt_rand(100000, 999999);
//TODO 短信模板变量替换JSON串,友情提示:如果JSON中需要带换行符,请参照标准的JSON协议。
$jsonTemplateParam = json_encode(['code' => $authCodeMT], 320);
/**
* 需要注意以下几点:
* regionId必须为:cn-hangzhou,请勿修改。
* product必须为:Dysmsapi,请勿修改。
* host必须为:dysmsapi.aliyuncs.com,请勿修改。
* version必须为:2017-05-25,请勿修改。
*/
AlibabaCloud::accessKeyClient($accessKeyId, $accessSecret)
->regionId('cn-hangzhou')//杭州接入点:cn-hangzhou
->asDefaultClient();
try {
// 访问产品 APIs,OpenAPI采用RPC签名风格
$result = AlibabaCloud::rpc()
->product('Dysmsapi')
// ->scheme('https') // https | http
->version('2017-05-25')
->action('SendSms')//批量发送短信:SendBatchSms
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => [
'RegionId' => 'cn-hangzhou',//杭州接入点:cn-hangzhou
'PhoneNumbers' => $phoneNumber,//目标手机号
'SignName' => $signName,
'TemplateCode' => $templateCode,
'TemplateParam' => $jsonTemplateParam,
],
])
->request();
$opRes = $result->toArray();
//print_r($opRes);
if ($opRes && $opRes['Code'] == "OK") {
//进行Cookie保存
cookie('authCodeMT' . $phoneNumber, $authCodeMT, 300);
}
} catch (ClientException $e) {
echo $e->getErrorMessage() . PHP_EOL;
} catch (ServerException $e) {
echo $e->getErrorMessage() . PHP_EOL;
}
}
网友评论