1.國外短信這里介紹:短信寶
用的是thinkphp 框架
在TP模塊下的目錄新建Service文件夾,在里面新建service服務(wù)類用于短信寶發(fā)送短信。
更多詳情可參考官網(wǎng):
namespace Home\Service;
class SmsbaoService {
function __construct() {
$config = array(
'user' => D('Config')->get('msg_user'),
'pass' => D('Config')->get('msg_pass'),
'smsapi' => '接口地址',
);
$statusCode = array(
"0" => "短信發(fā)送成功",
"-1" => "參數(shù)不全",
"-2" => "服務(wù)器空間不支持,請確認(rèn)支持curl或者fsocket,聯(lián)系您的空間商解決或者更換空間!",
"30" => "密碼錯誤",
"40" => "賬號不存在",
"41" => "余額不足",
"42" => "帳戶已過期",
"43" => "IP地址限制",
"50" => "內(nèi)容含有敏感詞"
);
$this->config = $config;
$this->statusCode = $statusCode;
}
/**
* 發(fā)送驗證碼
* @param $phone
* @param $code 驗證碼
* @return mixed
*/
public function sendMsg($phone, $code) {
$config = $this->config;
$statusCode = $this->statusCode;
$autograph = D('Config')->get('msg_autograph');
$content = D('Config')->get('msg_content');
$content = '【' . $autograph . '】' . str_replace('{code}', $code, $content);
$sendurl = $config['smsapi'] . "sms?u=" . $config['user'] . "&p=" . md5($config['pass']) . "&m=" . $phone . "&c=" . urlencode($content);
$status = file_get_contents($sendurl);
$reData['status'] = $status;
$reData['info'] = $statusCode[$status];
return $reData;
}
}
數(shù)據(jù)庫中要建配置參數(shù):
msg_user(短信寶用戶名)
msg_pass(短信寶密碼)
msg_autograph(短信寶簽名)
msg_content(短信內(nèi)容,必須包含驗證碼替換符{code})
2.國外的介紹QcloudSMS騰訊短信
可以發(fā)送國內(nèi)短信的接口有很多,之前也有整理比較好用的。當(dāng)有用戶需要發(fā)送國際短信時,比較常用就是阿里和騰訊的了。下面是騰訊短信簡單發(fā)送對接TP的Service
下面以國際短信為例
1、在騰訊短信控制臺申請“海外文本短信”,只需要申請短信模板即可,海外短信不需要申請簽名,國內(nèi)短信必須申請簽名。
2、下載官方的phpSDK,在TP使用時需要小改一下命名空間,文章下有提供可下載。放到TP的Vendor/Qcloudsms文件夾中。
3、在要使用的模塊下新建QcloudsmsService.class.php,代碼如下:
namespace Home\Service;
class QcloudsmsService {
function __construct() {
$config = array(
'appid' => '14054******',//控制臺查看
'appkey' => '6fe55********************',//控制臺查看
'templId' => '295555**',
'nationCode' => '852555', //國家或地區(qū)區(qū)號,香港852,大陸86
);
$this->config = $config;
}
/**
* 發(fā)送驗證碼
* @param $phone
* @param $code 驗證碼
* @return mixed
*/
public function sendMsg($phone, $code) {
vendor('Qcloudsms.SmsSender');
$config = $this->config;
$singleSender = new \SmsSingleSender($config['appid'], $config['appkey']);
// 普通單發(fā)
$result = $singleSender->send(0, $config['nationCode'], $phone, "您好,您的驗證碼為" . $code, "", "");
//返回的成功示例:{"result":0,"errmsg":"OK","ext":"","sid":"2:670479-0268698729-028972-001510040916","fee":1}
//result為0表示發(fā)送成功
$rsp = json_decode($result, true);
return $rsp;
}
}
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://www.sdlwjx666.com/news/6004.html