BAOCMS(又稱生活寶系統)是一款本地生活電商O2O門戶系統,程序是基于PHP+mysql開發,系統安全穩定,支持二次開發,目前BAOCMS已經成為國內使用最多、功能最強大、性能最穩定的本地電商生活O2O門戶系統,已經幫助100多個站長和運營商實現創業,并且絕大部分的創業者和運營商都得到很好的利潤回報,領先同行業的其他網站系統。
在使用BAOCMS過程中必不可少的會出現一些問題,我在這里為大家講解一下BAOCMS短信發送失敗的問題,這里我會列舉出一些常見的錯誤,希望對大家使用BAOCMS短信接口有些用處,我這里以BAOCMS6.5版本為例,使用的接口服務商是短信寶(http://www.gjrencai.com),使用短信寶接口的原因很簡單,它們穩定可靠,速度也很快,還有就是他們提供了很多方便插件,只需要復制粘貼就可以完成復雜的替換工作了。
眾所周知BAOCMS的短信接口是一個萬能的短信接口,只需要填寫URL,編碼格式,成功返回值就可以使用了,但是這中間還是有一些問題的,最簡單的一個問題就是URL的填寫,如下圖:
在填寫URL的時候有許多人不注意,導致在http前面會出現一個空格,或者整個URL之間少寫一個等號,多一個空格,這些都是導致短信發送失敗的原因,所以在使用之前要確定URL的準確無誤。
當你的URL填寫正確無誤但是還是不能發送成功,那么我們就需要查看一下是不是模版沒有開啟,模版的位置在后臺->設置->模版管理->短信模版, 如下圖:
如果你所要發送的短信模版沒有開啟是不能發送成功的,所以一定要確定是開啟狀態。 URL和模版都是正確的但是短信還是發送失敗,這又是怎么回事呢?
經過代碼追蹤,定位到出問題的代碼在: 在項目/Baocms/Lib/Model文件夾下面SmsModel.class.php文件中。在這里就不每個都為大家詳細說明了,我舉出一個案例剩下的基本都是這種情況,為了便于分析,我把這個方法的每條語句都加上了注釋,然后來大家分析一下。如圖:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
商城通知商家短信方法 public function mallTZshop( $order_id ){ //判斷$order_id 是否為整形和數字 if ( is_numeric ( $order_id ) && ( $order_id = (int) $order_id )){ $order_id = array ( $order_id ); } //查找數據庫,找到這條數據 $orders = D( 'Order' )->itemsByIds( $order_id ); //定義一個空數組 $shop = array (); //循環將shop_id賦值到這個空數組中 foreach ( $orders as $val ){ $shop [ $val [ 'shop_id' ]] = $val [ 'shop_id' ]; } //查找數據庫,找到數據 $shops = D( 'Shop' )->itemsByIds( $shop ); //循環發送短信 foreach ( $shops as $val ){ // 調用發送方法 模版標簽 手機號 內容 $this->sendSms('sms_shop_mell', $val['mobile'], array()); } return true; } |
原因就出在模版標簽這里,我們可以對比一下,代碼中的模版標簽是sms_shop_mell,而我們后臺模版所設置的標簽為sms_shop_mall,因為這里的不匹配導致我們的短信發送失敗,只要將后臺模版標簽與代碼中修改一致就可以發送成功了。
我上面講述的這幾個方面都是正確的,基本上短信都是可以正常發送的了。
報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,并且免審核了,短信內容3~5秒就可送達。
最新更新
電商類
CMS類
微信類