1.登錄阿里雲後臺,事先添加簽名和模板php
2.使用composer下載阿里雲SDKjson
composer require alibabacloud/sdk
在PHP7.0下安裝須要提早安裝curl擴展api
sudo apt-get install php7.0-curl
3. 提取短信發送配置到配置文件php7
return [ 'accessKeyId' => 'LTAIMje******hS', 'accessSecret' => 'fMuQTLUrKQN******Z2m07', 'SignName' => '****', 'TemplateCode' => 'SMS_****04', 'regionId' => 'cn-hangzhou' ];
4. 新建阿里短信發送類composer
use Swoft\Task\Bean\Annotation\Task; use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; /** * 阿里信息發送類 * @Task("ali") */ class AliTask { /** * 發送短信驗證碼 */ public function sendCode($phone,$code) { $config = \config('ali'); $param = [ 'code' => $code ]; AlibabaCloud::accessKeyClient($config['accessKeyId'], $config['accessSecret']) ->regionId($config['regionId']) ->asGlobalClient(); try { $result = AlibabaCloud::rpcRequest() ->product('Dysmsapi') ->version('2017-05-25') ->action('SendSms') ->method('POST') ->options([ 'query' => [ 'PhoneNumbers' => $phone, 'SignName' => $config['SignName'], 'TemplateCode' => $config['TemplateCode'], 'TemplateParam' => json_encode($param) ], ]) ->request(); print_r($result->toArray()); } catch (ClientException $e) { echo $e->getErrorMessage() . PHP_EOL; } catch (ServerException $e) { echo $e->getErrorMessage() . PHP_EOL; } } }