阿里大魚的短息一條4分5,比起市場上7分5的短信,便宜多了,並且大平臺,相信以後選擇用它的人也會愈來愈多。php
--------以上爲2016-04-16寫這篇博客時的題記,今天是2017-07-18,時間過去了一年多,「阿里大魚」也改爲了「阿里大於」,並且由獨立平臺,集成到了阿里雲旗下的控制中心,因此以前寫的方法有些不太適用了,今天就從新整理一下,API開發不深刻的講,我只寫最基礎的集成,幫助各位看官快速的把阿里大於集成到你的網站,實現短信發送。web
(若是使用的是老帳號,管理方式繼續在阿里大於後臺的,請移步到最下面,看老方法,依然有效。)api
一、登陸阿里雲平臺(www.aliyun.com),在「產品與服務」中找到「短信服務」,進入並開通,如圖app
二、開通後,新手通常送的有10元的短信券,供測試使用,有四個菜單,以下圖函數
三、首先,咱們先配置下要發送的短信的簽名、短信的內容格式、以及申請下AK(這裏咱們先作下這些準備工做,一共三步,而後再集成代碼,固然你也能夠先跳到下面去看集成代碼,回頭再來準備這三個東東)測試
咱們要發送的短信,舉個栗子:【宕樣】尊敬的買家,您在宕樣平臺購買的神器已經上路了,請您保持電話暢通,若有問題,請聯繫咱們,電話:13822223333網站
a、簽名,本例子的簽名就是【宕樣】ui
點擊上圖左側的「短信簽名」,而後添加簽名,添加的時候不用加中括號阿里雲
b、短信內容格式,本例子內容就是「尊敬的買家,您在宕樣平臺購買的神器已經上路了,請您保持電話暢通,若有問題,請聯繫咱們,電話:13822223333」spa
點擊上圖左側的「短信模板」,編輯以下:尊敬的買家,您在${webname}購買的${goodsname}已經上路了,請您保持電話暢通,若有問題,請聯繫咱們,電話:${ourmobile}
(能夠看見有幾個自定義的地方,沒錯,這就是自定義的,在集成代碼的時候咱們會進行替換它)
c、AccessKeyId 與 AccessKeySecret是在哪裏?
能夠經過阿里雲控制檯的祕鑰管理界面進行建立、管理全部的訪問祕鑰對。右上角選中您的暱稱——accesskeys建立便可
四、以上三個東西準備好了,咱們下面來集成代碼
在上圖的最下面能夠看到「接口調用」,隨便點擊一個,而後進入到幫助頁面,找到「SDK及DEMO下載」,我用的是PHP
文件清單:
|
知道了這四個包都是幹嗎的,咱們本次的目的只是發送短信,因此,只取api_demo和api_sdk
五、將上說的這倆包,進行一下整合,注意,咱們只要aliyun-php-sdk-core這一個包,並且名字不能改,而後把smsDemo.php,以及Request整個目錄,拿到aliyun-php-sdk-core這個包的根目錄裏
以下圖大概說明:
最終目錄結構如圖:
把這個文件夾(aliyun-php-sdk-core)放到網站的任意位置,方便你的引用便可
六、改配置
須要配置的文件只有一個,那就是smsDemo.php,這裏我對原函數sendSms()稍微作了下更改,使能夠接受參數,針對上面的例子來講,此時函數是這樣的:
function sendSms($mobile, $webname,$goodsname,$ourmobile){
//$mobile:接收短信的手機號
...
}
函數裏面須要配置的如圖所示:
注意:上面的函數,最後一步是打印,能夠註釋掉,還有smsDemo.php最下面有個測試的函數調用,記得幹掉:
七、引用
在須要用到發送短信的頁面引用,好比個人文件包放在根目錄下的data文件夾下,則引用爲:
require_once(dirname(__FILE__).'/data/aliyun-php-sdk-core/smsDemo.php');
調用時,只須要:
sendSms($mobile, $webname,$goodsname,$ourmobile);//這些參數這裏但是要先賦值的
注意事項:
一、由於SDK使用了空間命名,因此PHP版本須要大於等於5.3,不然不支持就會報錯
二、暫未想到
------------------------------------------------------時間分割線,下面是以前的參考方法,適用於帳號的管理平臺是阿里大於的後臺--------------------------------------------------------------------
下面記述一下集成方法,有須要的能夠看看。
一、申請大魚,用淘寶帳號登錄,最好是認證過的淘寶號,網址http://www.alidayu.com/
二、在大魚管理中心的右上角頭像旁邊點擊進入「開發者控制檯」
三、建立應用(阿里有更詳細的說明:https://doc.alidayu.com/doc2/detail.htm?spm=0.0.0.0.4Ozcne&treeId=135&articleId=104431&docType=1)
四、應用開發:https://doc.alidayu.com/doc2/detail.htm?spm=a3142.7629140.4.6.eIl0a8&treeId=135&articleId=104433&docType=1
(以上步驟阿里大魚幫助文檔說明更詳細)
五、整合(這是重點),我用的PHP
------------------------------------------------------
一、將下載的包解壓後,從新命名,隨意命名,放到網站的目錄裏,目錄本身看着放,不用挑出來什麼什麼文件,總體就行,懶得搞,好比個人文件夾名稱爲alidayu
二、某文件裏寫調用方法:
function sendSMS ($mobile, $content) { include "alidayu/TopSdk.php"; date_default_timezone_set('Asia/Shanghai'); $c = new TopClient; $c->appkey = "填寫具體值"; $c->secretKey = "填寫具體值,在控制檯查看"; $req = new AlibabaAliqinFcSmsNumSendRequest; $req->setSmsType("normal"); $req->setSmsFreeSignName("註冊驗證"); $req->setSmsParam("{\"code\":\"".$content."\",\"product\":\"網站名字\"}"); $req->setRecNum($mobile); $req->setSmsTemplateCode("SMS_7785825"); $resp = $c->execute($req); //var_dump($resp); if($resp->result->success) { return true; } else { return false; } }
說明:
$content是要發送的驗證碼
網站名字根據須要來
這裏只是一個發送註冊驗證碼的案例,其中的參數是對應註冊的,其餘的請參考API文檔
下載的文件沒有須要配置的,只須要調用入口文件就行,注意文件的位子
三、返回是true則發送成功,不然則失敗。