項(xiàng)目需求:網(wǎng)站是有一個(gè)留言表單,當(dāng)有留言的時(shí)候,以前多數(shù)是以郵件的方式來通知自己,現(xiàn)在有需求是留言的時(shí)候,發(fā)送一條短信給自己手機(jī)。
網(wǎng)站前臺(tái)留言,通過短信通知網(wǎng)站管理員。
這里我們以PB為例子,其他的程序如織夢(mèng),帝國,PHPCMS,大概都是差不多的。
弟一種解決方案:
我們使用AJQX無刷新發(fā)送表單。
我們以:haoservice.com的API為例子,例子中我加了兩種,一種是短信的,一種是語音的,都可以使用。
<script>
//ajax提交留言
function submsg(obj){
var url='{pboot:msgaction}';
var contacts=$(obj).find("#contacts").val();
var mobile=$(obj).find("#mobile").val();
var content=$(obj).find("#content").val();
var checkcode=$(obj).find("#checkcode").val();
var reg = /^(1|0)[d-]+$/;
if (!reg.test(mobile)) {
alert('電話號(hào)碼錯(cuò)誤!');
return false;
}
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
data: {
contacts: contacts,
mobile: mobile,
content: content,
checkcode: checkcode
},
success: function (response, status) {
if(response.code){
alert("謝謝您的反饋,我們會(huì)盡快聯(lián)系您!");
//短信驗(yàn)證碼接口
var settings = {
"async": true,
"crossDomain": true,
"url": "http://apis.haoservice.com/sms/sendv2?mobile=手機(jī)號(hào)&tpl_id=2&content=中間的省略掉,具體的官網(wǎng)會(huì)給出文檔e4%bf%a1&key=your_AppKey",
"method": "GET",
"headers": {}
}
$.ajax(settings).done(function (response) { console.log(response);
});
//短信驗(yàn)證碼接口
//語音驗(yàn)證碼接口
var settings = {
"async": true,
"crossDomain": true,
"url": "這里是你的KEY ",
"method": "GET",
"headers": {}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
//語音驗(yàn)證碼接口
$(obj)[0].reset();
}else{
alert(response.data);
}
},
error:function(xhr,status,error){
alert('返回?cái)?shù)據(jù)異常!');
}
});
return false;
}
</script>第二種解決方案:
假如API接口不提供JS文檔,那么我們可以使用相關(guān)的PHP文檔。
找到文件:
/apps/home/controller/MessageController.php
在發(fā)送郵件的后面添加以下代碼,這個(gè)是以短信寶為例子,其他的平臺(tái)也差不多。
找到這一句,sendmail($this->config(), $this->config('message_send_to'), $mail_subject, $mail_body);在這個(gè)后面添加以下內(nèi)容
// 短信開始
$statusStr = array(
"0" => "短信發(fā)送成功",
"-1" => "參數(shù)不全",
"-2" => "服務(wù)器空間不支持,請(qǐng)確認(rèn)支持curl或者fsocket,聯(lián)系您的空間商解決或者更換空間!",
"30" => "密碼錯(cuò)誤",
"40" => "賬號(hào)不存在",
"41" => "余額不足",
"42" => "帳戶已過期",
"43" => "IP地址限制",
"50" => "內(nèi)容含有敏感詞"
);
$smsapi = "http://api.smsbao.com/";
$user = "平臺(tái)賬號(hào)"; //短信平臺(tái)帳號(hào)
$pass = md5("你的密碼"); //短信平臺(tái)密碼
$content="你的網(wǎng)站收到一條咨詢信息,請(qǐng)注意查收";//要發(fā)送的短信內(nèi)容
$mail_bodys = ',來自網(wǎng)站 ' . get_http_url() . ' (' . date('Y-m-d H:i:s') . ')';
$phone = "15899750475";//要發(fā)送短信的手機(jī)號(hào)碼
$sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content).urlencode($mail_bodys);
$result =file_get_contents($sendurl) ;
echo $statusStr[$result];
// 短信結(jié)束 由此就可以實(shí)現(xiàn)當(dāng)有人在網(wǎng)站上留言的時(shí)候,自動(dòng)發(fā)送一條通知信息到手機(jī)上。
有關(guān)我們服務(wù)的更多信息,請(qǐng)聯(lián)系項(xiàng)目經(jīng)理
15899750475 楊先生