1. 程式人生 > >阿裏雲短信發送

阿裏雲短信發送

.com 下載 訪問 mobile 換行 導致 say 類型 send

一、準備工作:
1、下載SDK工具包
https://help.aliyun.com/document_detail/55359.html?spm=5176.doc55451.2.6.BgY073
2、申請ID和Secret
3、申請簽名
https://dysms.console.aliyun.com/dysms.htm?spm=5176.8195934.499931.1.64sayk#/
4、選擇短信模板

二、封裝函數
/**
* 發送短信
* @param $mobile 手機號碼
* @param $code 驗證碼
* @return bool 短信發送成功返回true失敗返回false
*/
function sendSMS($mobile, $code){
// 引用三個文件Config, DefaultProfile, SendSmsRequest,根據文件路徑填寫
vendor(‘aliyunSms.aliyun-php-sdk-core.Config‘);
vendor(‘aliyunSms.aliyun-php-sdk-core.Profile.DefaultProfile‘);
vendor(‘aliyunSms.Dysmsapi.Request.V20170525.SendSmsRequest‘);

//此處需要替換成自己的AK信息
$accessKeyId = "yourAccessKeyId";
$accessKeySecret = "yourAccessKeySecret";
//短信API產品名(短信產品名固定,無需修改)
$product = "Dysmsapi";
//短信API產品域名(接口地址固定,無需修改)
$domain = "dysmsapi.aliyuncs.com";
//暫時不支持多Region(目前僅支持cn-hangzhou請勿修改)
$region = "cn-hangzhou";
//初始化訪問的acsCleint
$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
$acsClient= new DefaultAcsClient($profile);
$request = new Dysmsapi\Request\V20170525\SendSmsRequest;
//必填-短信接收號碼。支持以逗號分隔的形式進行批量調用,批量上限為1000個手機號碼,批量調用相對於單條調用及時性稍有延遲,驗證碼類型的短信推薦使用單條調用的方式
$request->setPhoneNumbers($mobile);
//必填-短信簽名
$request->setSignName("雲通信"); // 可到官網申請
//必填-短信模板Code
$request->setTemplateCode("SMS_0001"); // 根據需求填寫相應的模板id
//選填-假如模板中存在變量需要替換則為必填(JSON格式),友情提示:如果JSON中需要帶換行符,請參照標準的JSON協議對換行符的要求,比如短信內容中包含\r\n的情況在JSON中需要表示成\\r\\n,否則會導致JSON在服務端解析失敗
$request->setTemplateParam("{\"code\":\"12345\",\"product\":\"雲通信服務\"}");
//選填-發送短信流水號
$request->setOutId("1234");
//發起訪問請求
$acsResponse = $acsClient->getAcsResponse($request);

if ($acsResponse && ($acsResponse->Code == "OK")) {
return true;
} else {
return false;
}
}

阿裏雲短信發送