regionId('ap-southeast-1') ->asDefaultClient(); $result = AlibabaCloud::rpcRequest() ->product('Dysmsapi') ->host('dysmsapi.ap-southeast-1.aliyuncs.com') ->version('2018-05-01') ->action('SendMessageToGlobe') // 该接口不支持往中国内地发送短信, QPS 限制为 2000 次/秒。超过限制,API 调用会被限流 ->method('POST') ->options([ 'query' => [ "To" => $toNum, "Message" => $content, ], ]) ->request(); $res = $result->toArray(); if (!isset($res['ResponseCode']) || $res['ResponseCode'] != 'OK') { trace('短信发送失败:' . json_encode([$res]), 'error'); } return true; } catch (ClientException $clientException) { trace('短信发送失败01_' . $clientException->getMessage(), 'error'); } catch (ServerException $serverException) { trace('短信发送失败02_' . $serverException->getErrorMessage(), 'error'); } catch (\Exception $exception) { trace('短信发送失败03_' . $exception->getMessage(), 'error'); } return false; } // 发全球地区(除中国大陆地区) public function sendMessageToGlobe($toNum, $content, $from, $accessKey, $secret) { try { // 新对接的短信平台 $sms = new \app\sms\Sms(); $result = $sms->send($toNum, '', [ 'content' => $content, 'title' => $from, ]); trace('短信发送结果:' . json_encode([$result]), 'error'); if (!$result['success']) { trace('短信发送失败:' . json_encode($result), 'error'); return false; } // AlibabaCloud::accessKeyClient($accessKey, $secret) // ->regionId('ap-southeast-1') // 服务点对应的公网接入地址: https://www.alibabacloud.com/help/zh/sms/developer-reference/api-dysmsapi-2018-05-01-endpoint?spm=a2c63.p38356.help-menu-44282.d_3_2_1.248f60deo2Ug5G // ->asDefaultClient(); // $result = AlibabaCloud::rpc() // ->product('Dysmsapi') // ->version('2018-05-01') // ->action('SendMessageToGlobe') // ->method('POST') // ->host('dysmsapi.ap-southeast-1.aliyuncs.com') // ->options([ // 'query' => [ // "To" => $toNum, // "Message" => $content, // "From" => $from, // Sender ID 在阿里云控制台申请 // ], // ]) // ->request(); // $res = $result->toArray(); // trace('短信发送结果:'.json_encode([$res]), 'error'); // if(!isset($res['ResponseCode']) || $res['ResponseCode'] != 'OK'){ // return false; // } return true; } catch (ClientException $clientException) { trace('短信发送失败01_' . $clientException->getErrorMessage(), 'error'); } catch (ServerException $serverException) { trace('短信发送失败02_' . $serverException->getErrorMessage(), 'error'); } catch (\Exception $exception) { trace('短信发送失败03_' . $exception->getMessage(), 'error'); } return false; } }