如今這個短信通知氾濫的年代;應用若是沒有個短信註冊;你都不敢說你是搞開發的;php
這個驗證碼搞起來是不難的;可是若是剛接觸也是有點不知從哪下手的迷茫;git
先講下概念;thinkphp
要想發送驗證碼;須要至少三項;appid、key、模板id;app
appid、和key好比較容易理解;各類第三方平臺都會提供的;可能叫法不同;函數
模板id就是指的短信的內容;例如【淘寶】驗證碼是192612,請您在5分鐘內輸入;oop
這就是一個模板;咱們發短信的時候只能改變1926十二、和5這兩個數字;其餘是固定的;測試
由於政策的問題;模板須要申請並審覈;通常1個工做日就過了;.net
下面來具體寫流程;rest
1:找一個靠譜的短信驗證碼平臺;推薦以下使用過的;下面以容聯雲通信爲例;其餘平臺一個道理;code
阿里大魚:http://www.alidayu.com/service?spm=a3142.7802752.1.4.oAfDUZ&_t=2#sms
容聯雲通信:http://www.yuntongxun.com/
2:註冊;登陸;認證;都是廢話;拿到ACCOUNT SID、AUTH TOKEN;
3:建立一個應用;
4:新增一個模板;
5:等審覈經過;拿到模板ID;好;到此;完成;
6:完成?想多了吧;這是剛達到了能夠發送驗證碼的基本條件;接着下載官方的SDK;
標題掛着Thinkphp集成短信驗證碼的;再不寫thinkphp;想必是要被噴成渣!渣都不剩!
全部的源代碼均可以在個人開源項目bjyadmin中找到:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin
以個人開源項目爲例;放在/ThinkPHP/Library/Org/Xb/RongCloud.class.php
7:在公共函數庫中增長函數/Application/Common/Common/function.php
/** * 發送 容聯雲通信 驗證碼 * @param int $phone 手機號 * @param int $code 驗證碼 * @return boole 是否發送成功 */ function send_sms_code($phone,$code){ //請求地址,格式以下,不須要寫https:// $serverIP='app.cloopen.com'; //請求端口 $serverPort='8883'; //REST版本號 $softVersion='2013-12-26'; //主賬號 $accountSid=C('RONGLIAN_ACCOUNT_SID'); //主賬號Token $accountToken=C('RONGLIAN_ACCOUNT_TOKEN'); //應用Id $appId=C('RONGLIAN_APPID'); $rest = new \Org\Xb\Rest($serverIP,$serverPort,$softVersion); $rest->setAccount($accountSid,$accountToken); $rest->setAppId($appId); // 發送模板短信 $result=$rest->sendTemplateSMS($phone,array($code,5),59939); if($result==NULL) { return false; } if($result->statusCode!=0) { return false; }else{ return true; } }
8:把ACCOUNT SID、AUTH TOKEN、模板id 填到配置項/Application/Common/Conf/config.php 中
'RONGLIAN_ACCOUNT_SID' => '', //容聯雲通信 主帳號 accountSid 'RONGLIAN_ACCOUNT_TOKEN' => '', //容聯雲通信 主帳號token accountToken 'RONGLIAN_APPID' => '', //容聯雲通信 應用Id appid 'RONGLIAN_TEMPLATE_ID' => '', //容聯雲通信 模板Id
9:調用函數:send_sms_code('手機號','驗證碼');便可
我最近在整理的開源項目已是集成好了;這一切;只須要在配置項填空;就能夠發短信了;
童鞋們須要的能夠直接git clone測試:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin
本文爲白俊遙原創文章,轉載無需和我聯繫,但請註明來自白俊遙博客http://baijunyao.com