1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- namespace app\common\util;
- use AlibabaCloud\Client\AlibabaCloud;
- use AlibabaCloud\Client\Exception\ClientException;
- use AlibabaCloud\Client\Exception\ServerException;
- use think\facade\Log;
- class AliSms
- {
- /**
- * 发送短信验证码
- * @param $phone
- * @param $code
- * @throws ClientException
- */
- public function sendMessageCode($phone, $code){
- Log::record("sendMessageCode begin:".$phone.",code:".$code,"debug");
- AlibabaCloud::accessKeyClient(config('ali_msm.accessKeyId'), config('ali_msm.accessKeySecret'))
- ->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' => config('message.RegionId'),
- 'PhoneNumbers' => $phone,
- 'SignName' => config('message.SignName'),
- 'TemplateCode' => config('message.TemplateCode'),
- 'TemplateParam' => "{'code': $code}",
- ],
- ])
- ->request();
- Log::record("短信验证码发送结果:","debug");
- Log::record(print_r($result->toArray(),true),"debug");
- } catch (ClientException|ServerException $e) {
- Log::record("短信验证码发送结果:","debug");
- Log::record($e->getErrorMessage(),"debug");
- // echo $e->getErrorMessage() . PHP_EOL;
- }
- }
- }
|