友点CMS系统是一款免费、开源、轻便、安全、专业建站、PC+手机+微官网+小程序+APP五站合一、一站式智能建站平台。今天小编为大家讲解一下YouDianCMS 9.5.14稳定版这个版本的短信插件该如何开发,短信接口使用的是我们短信宝短信群发平台,我们短信宝短信群发平台极其稳定,而且短信发送速度相当快捷,验证码和订单通知在3~5秒就能收到,用户体验非常好,注册就送测试短信。
1:打开项目: App\Tpl\Admin\Default\Config\other.html 新增短信宝短信页面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
<div class= "box-header" id= "c3" > <h4>短信接口设置 <span class= "extra" >可用于:手机注册、短信找回密码、订单提醒、留言提醒、反馈提醒。请在相应功能设置短信内容模板</span> </h4> </div> <div class= "box-content" > <table class= "boxtable" > <tr> <th nowrap= "nowrap" style= "width:20%" >短信宝</th> <td style= "width:80%" > <select name= "SMS_TYPE" > <option value= "Huyi" >短信宝</option> </select> <span style= "color:#F30; padding-left:3px;" ><a target= "_blank" href= "https://smsbao.com/reg" >还没有注册账号?立即注册</a></span> </td> </tr> <tr> <th nowrap= "nowrap" style= "width:20%" >短信宝账号</th> <td style= "width:80%" > <input type= "text" class= "textinput" style= "width:270px;" name= "SMS_ACCOUNT" value= "{$SmsAccount}" /> <span class= 'Caution' >请填写短信宝账号</span></td> </td> </tr> <tr> <th nowrap= "nowrap" style= "width:20%" >短信宝密码</th> <td style= "width:80%" > <input type= "text" class= "textinput" style= "width:270px;" name= "SMS_PASSWORD" value= "{$SmsPassword}" /> <span class= 'Caution' >请填写短信宝密码</span> </td> </tr> <tr> <th nowrap= "nowrap" style= "width:20%" >每个IP每天最多能发送几条短信</th> <td style= "width:80%" > <input type= "number" class= "textinput" style= "width:60px;" maxlength= "5" name= "SMS_IP_MAX" value= "{$SmsIpMax}" /> <span class= 'Caution' >请根据实际情况设置,默认值为:20</span> </td> </tr> <tr> <th nowrap= "nowrap" style= "width:20%" >每个手机每天最多能发送几条短信</th> <td style= "width:80%" > <input type= "number" class= "textinput" style= "width:60px;" maxlength= "5" name= "SMS_NUM_MAX" value= "{$SmsNumMax}" /> <span class= 'Caution' >请根据实际情况设置,默认值为:60</span> </td> </tr> <tr> <th nowrap= "nowrap" style= "width:20%" >剩余短信条数</th> <td style= "width:80%; padding:8px 0;" > <span id= "leftnum" style= "font-weight:bold;color:blue; margin-right:8px;" ></span> <a class= "btnSuccess btnSmall" onclick= "getLeftNum()" >点击查询</a> </td> </tr> <tr> <th>手机注册验证码短信发送测试</th> <td> <input type= "text" class= "textinput" style= "width:120px; float:left; " maxlength= "18" name= "Mobile" id= "Mobile" value= "" placeholder= "请输入手机号码" /> <span style= "float:left; margin:7px 3px 7px 15px;" >验证码</span> <input type= "text" class= "textinput" style= "width:60px; float:left; " maxlength= "4" name= "CodeNum" id= "CodeNum" value= "{:rand_string(4,1)}" placeholder= "验证码" /> <a class= "btnSuccess btnSmall" style= "float:left;margin:2px 8px;" onclick= "sendSmsTest()" id= "btnPick" target= "_blank" >短信发送测试</a> <span style= "float:left; margin-left:5px;" id= "smstip" ></span> <span class= 'Caution' >发送前,请先保存设置!</span></td> </td> </tr> <tr> <th><span style= "color:red;" >配置步骤:</span></th> <td><span style= "color:red;" > [1] 在本后台设置全部短信模板(如:手机注册验证码模板、订单通知模板等) [2] 登录短信服务商的后台,将[1]设置的模板提交审核,审核通过后才能发送相关短信! </span> </td> </tr> </table> </div> |
2:打开项目:App\Lib\Action\Admin\ConfigAction.class.php 修改设置函数新增查询和发送测试函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
function other(){ header( "Content-Type:text/html; charset=utf-8" ); $m = D( 'Admin/Config' ); $data = $m->getConfig( 'other' ); //配置数据不从缓存中提取 $ this ->assign( 'AdminPageSize' , $data[ 'ADMIN_PAGE_SIZE' ] ); $ this ->assign( 'AdminRollPage' , $data[ 'ADMIN_ROLL_PAGE' ] ); $ this ->assign( 'AutoDelEnable' , $data[ 'AUTO_DEL_ENABLE' ] ); $ this ->assign( 'AutoUploadEnable' , $data[ 'AUTO_UPLOAD_ENABLE' ] ); $ this ->assign( 'DelLinkEnable' , $data[ 'DEL_LINK_ENABLE' ] ); $ this ->assign( 'TextEditor' , $data[ 'TextEditor' ] ); $ this ->assign( 'AllowLink' , $data[ 'ALLOW_LINK' ] ); $ this ->assign( 'SearchPageSize' , $data[ 'SearchPageSize' ] ); $ this ->assign( 'HomeRollPage' , $data[ 'HomeRollPage' ] ); $ this ->assign( 'ChannelTreeWidth' , $data[ 'ChannelTreeWidth' ] ); //更新短信方面 $ this ->assign( 'SmsAccount' , $data[ 'SMS_ACCOUNT' ] ); $ this ->assign( 'SmsPassword' , $data[ 'SMS_PASSWORD' ] ); $ this ->assign( 'SmsIpMax' , $data[ 'SMS_IP_MAX' ] ); $ this ->assign( 'SmsNumMax' , $data[ 'SMS_NUM_MAX' ] ); $ this ->assign( 'Action' , __URL__. '/saveOther' ); $ this ->display(); } function getLeftNum(){ $data = $GLOBALS[ 'Config' ]; import( "@.Common.YdSms" ); $obj = YdSms::getInstance( $data[ 'SMS_TYPE' ] ); $obj->setConfig( $data ); $num = $obj->getLeftNum(); if ( is_numeric($num)){ $ this ->ajaxReturn( null , $num, 1); } else { $ this ->ajaxReturn( null , "查询失败,{$num}" , 0); } } //短信发送测试 function sendSmsTest(){ $mobile = $_GET[ 'mobile' ]; $code = $_GET[ 'code' ]; //校验码 $content = $GLOBALS[ 'Config' ][ 'MOBILE_REG_TEMPLATE' ]; //读取模板 $msg = '' ; $result = send_sms($mobile, $content, array( '{$Code}' =>$code), 1, $msg); if ( $result ){ $ this ->ajaxReturn( null , $msg, 1); } else { $ this ->ajaxReturn( null , "发送失败,{$msg}" , 0); } } |
3:打开项目:App\Lib\Common\YdSms.class.php 修改为短信发送函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
public function getLeftNum(){ $sendurl = $smsapi. "query?u=" .$ this ->AccountName. "&p=" .md5($ this ->AccountPassword); $result =file_get_contents($sendurl) ; $result = explode( ',' ,$result); $num = $result[1] ? $result[1] : '' ; if ($num > 0 ){ return $num; } else { return $num; } } public function sendNotifyMessage($mobile, $content){ if ( !$ this ->check($mobile) ) { $ this ->writeLog($mobile, $content, "发送失败," .$ this ->Message); return false ; } $content = $ this ->parsePlaceholder($content); $statusStr = array( "0" => "短信发送成功" , "-1" => "参数不全" , "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!" , "30" => "密码错误" , "40" => "账号不存在" , "41" => "余额不足" , "42" => "帐户已过期" , "43" => "IP地址限制" , "50" => "内容含有敏感词" ); $user = $ this ->AccountName; //短信平台帐号 $pass = md5($ this ->AccountPassword); //短信平台密码 $phone = $mobile; //要发送短信的手机号码 $sendurl = $smsapi. "sms?u=" .$user. "&p=" .$pass. "&m=" .$phone. "&c=" .urlencode($content); $result =file_get_contents($sendurl) ; $ this ->Message = $statusStr[$result]; if ( $result == 0 ){ $ this ->writeLog($mobile, $content, $statusStr[$result]); return true ; } else { $ this ->writeLog($mobile, $content, "发送失败," .$statusStr[$result]); return false ; } } |
经过上面的替换,短信宝的短信平台已经替换成功了,可以正常使用了。进行测试发送:
报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,即便遇到敏感文字我们都不会人工审核,短信内容3~5秒就可送达。
另外:我们已经开发好完整的YouDianCMS 9.5.14系统短信宝插件,点击此链接 下载及查看安装流程。
最新更新
电商类
CMS类
微信类