ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
https://dysms.console.aliyun.com/overview 购买短信套餐后点击[签名管理](https://dysms.console.aliyun.com/domestic/text)和[模板管理](https://dysms.console.aliyun.com/domestic/text/template)进行申请 >[danger]不支持个人用户申请未上线业务,若产品未上线建议使用[API发送测试功能](https://dysms.console.aliyun.com/quickstart)或[升级企业账号](https://help.aliyun.com/knowledge_detail/37178.html) 前提条件 >* 请确认您的系统满足[环境要求](https://github.com/aliyun/openapi-sdk-php-client/blob/master/docs/en-US/0-Prerequisites.md)。 >* 已经注册阿里云账号并生成访问密钥(AccessKey)。详细步骤请参见[创建AccessKey](https://help.aliyun.com/document_detail/53045.htm)。 ## **测试** **API发送测试** 先绑定测试信息 ![](https://img.kancloud.cn/b1/9e/b19eb693a662179fe78e4acdbe5aef09_736x301.png) 控制台发送测试 ![](https://img.kancloud.cn/81/99/8199e37bfea8e949506328809c63fa40_670x361.png) [官方示例:](https://next.api.aliyun.com/api-tools/sdk/Dysmsapi?version=2017-05-25&language=php-tea) SDK: https://github.com/aliyun/openapi-sdk-php [packagist.org/packages/alibabacloud/sdk](https://packagist.org/packages/alibabacloud/sdk "https://packagist.org/packages/alibabacloud/sdk") ``` <?php // This file is auto-generated, don't edit it. Thanks. namespace AlibabaCloud\SDK\Sample; use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi; use AlibabaCloud\Tea\Tea; use AlibabaCloud\Tea\Utils\Utils; use AlibabaCloud\Tea\Console\Console; use Darabonba\OpenApi\Models\Config; use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest; class Sample { /** * 使用AK&SK初始化账号Client * @param string $accessKeyId * @param string $accessKeySecret * @return Dysmsapi Client */ public static function createClient($accessKeyId, $accessKeySecret){ $config = new Config([ // 您的AccessKey ID "accessKeyId" => $accessKeyId, // 您的AccessKey Secret "accessKeySecret" => $accessKeySecret ]); // 访问的域名 $config->endpoint = "dysmsapi.aliyuncs.com"; return new Dysmsapi($config); } /** * @param string[] $args * @return void */ public static function main($args){ $client = self::createClient("ACCESS_KEY_ID", "ACCESS_KEY_SECRET"); $sendSmsRequest = new SendSmsRequest([ "signName" => "阿里云短信测试", "templateCode" => "SMS_154950909", "phoneNumbers" => "15632613871", "templateParam" => "{\"code\":\"1234\"}" ]); $resp = $client->sendSms($sendSmsRequest); Console::log(Utils::toJSONString(Tea::merge($resp))); } } $path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php'; if (file_exists($path)) { require_once $path; } Sample::main(array_slice($argv, 1)); ``` ``` namespace AlibabaCloud\SDK\Sample; use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi; use AlibabaCloud\Darabonba\Env\Env; use AlibabaCloud\Tea\Utils\Utils; use AlibabaCloud\Tea\Console\Console; use AlibabaCloud\Darabonba\String\StringUtil; use AlibabaCloud\Darabonba\Time\Time; use Darabonba\OpenApi\Models\Config; use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest; use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\QuerySendDetailsRequest; class Sample { /** * 使用AK&SK初始化账号Client * @param string $accessKeyId * @param string $accessKeySecret * @return Dysmsapi */ public static function createClient($accessKeyId, $accessKeySecret){ $config = new Config([]); $config->accessKeyId = $accessKeyId; $config->accessKeySecret = $accessKeySecret; return new Dysmsapi($config); } /** * @param string[] $args * @return void */ public static function main($args){ $client = self::createClient(Env::getEnv("ACCESS_KEY_ID"), Env::getEnv("ACCESS_KEY_SECRET")); // 1.发送短信 $sendReq = new SendSmsRequest([ "phoneNumbers" => @$args[0], "signName" => @$args[1], "templateCode" => @$args[2], "templateParam" => @$args[3] ]); $sendResp = $client->sendSms($sendReq); $code = $sendResp->body->code; if (!Utils::equalString($code, "OK")) { Console::log("错误信息: " . $sendResp->body->message . ""); return null; } $bizId = $sendResp->body->bizId; // 2. 等待 10 秒后查询结果 Utils::sleep(10000); // 3.查询结果 $phoneNums = StringUtil::split(@$args[0], ",", -1); foreach($phoneNums as $phoneNum){ $queryReq = new QuerySendDetailsRequest([ "phoneNumber" => Utils::assertAsString($phoneNum), "bizId" => $bizId, "sendDate" => Time::format("yyyyMMdd"), "pageSize" => 10, "currentPage" => 1 ]); $queryResp = $client->querySendDetails($queryReq); $dtos = $queryResp->body->smsSendDetailDTOs->smsSendDetailDTO; // 打印结果 foreach($dtos as $dto){ if (Utils::equalString("" . (string) ($dto->sendStatus) . "", "3")) { Console::log("" . $dto->phoneNum . " 发送成功,接收时间: " . $dto->receiveDate . ""); } else if (Utils::equalString("" . (string) ($dto->sendStatus) . "", "2")) { Console::log("" . $dto->phoneNum . " 发送失败"); } else { Console::log("" . $dto->phoneNum . " 正在发送中..."); } } } } } $path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php'; if (file_exists($path)) { require_once $path; } Sample::main(array_slice($argv, 1)); ```