说明:宝baocms短信接口,只针对baocms调用56短信插件的设置修改说明了,如果您在当中有什么不明白的,可以联系技术人员,您也可以直接联系技术人员,帮您调试好,56短信网,最好的短信接口提供商,为您提供最全面的短信接口插件和技术支持.
1.首先登陆您的后台地址,点击设置--短信设置,如图所示:
填写,短信URL,内容编码,成功状态值,点击确认保存即可,为了方便大家复制,我把值分别写到下边.
短信URL: http://jiekou.56dxw.com/sms/HttpInterfaceMd5.aspx?comid=720&username=test8&userpwd=8d20ecd4186d3af9814d0072b2c24287&handtel={mobile}&sendcontent={content}&sendtime=&smsnumber=10690
内容编码:gbk
成功状态值:1
短信url中为了安全,我们对密码进行了md5加密的形式,当然,您也可以调用不加密接口(HttpInterfaceMd5.aspx换成HttpInterface.aspx) 即可,我提供多种形式的接口,就是为了方便大家的使用
问题小结:
1.首先要开启短信模板,设置-短信模板,如图所示:
是否开启-是
2.正常情况下在经过以上设置之后是发送短信完全是没有问题的,但由于有的客户选择的服务器时服务商关闭了allow_url_fopen,因为造成了无法调取远程接口,造成的返回值为空,从而提交失败,为了解决这个问题,并且不方便开启allow_url_fopen的前提下,找到Lib/Model/SmsModel.class.php文件里边的sendSms方法,把此方法修改如下(此代码由客户贡献提供,并经过测试是没有问题的):
public function sendSms($code,$mobile,$data){
$tmpl = $this->fetchAll();
if(!empty($tmpl[$code]['is_open'])){
$content = $tmpl[$code]['sms_tmpl'];
$config = D('Setting')->fetchAll();
$data['sitename'] = $config['site']['sitename'];
$data['tel'] = $config['site']['tel'];
foreach($data as $k=>$val){
$val = str_replace('【', '', $val);
$val = str_replace('】', '', $val);
$content = str_replace('{'.$k.'}', $val, $content);
}
if(is_array($mobile)){
$mobile = join(',',$mobile);
}
/* if($config['sms']['charset']){
$content = auto_charset($content,'UTF8','gbk');
}*/
$content=urlencode(iconv("UTF-8","gbk",$content));
$local = array(
'mobile' => $mobile,
'content' => $content
);
$http = tmplToStr($config['sms']['url'], $local);
//return $http;
//创建一个新cURL资源
$ch = curl_init();
//跳过ssl证书检验
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//需要获取的URL地址
curl_setopt($ch, CURLOPT_URL,$http);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, "网址或IP");
// 抓取URL并把它传递给浏览器
$res = curl_exec($ch);
// 关闭cURL资源,并且释放系统资源
curl_close($ch);
//打印获得的数据
return $res;
// $res = file_get_contents($http);
if($res == $config['sms']['code']) return true;
}
return false;
}
按如上方法做了修改之后,短信功能就可以正常发送了