【问题标题】:Yii2 sms gateway- Sms is not goingYii2 短信网关 - 短信不通
【发布时间】:2017-10-27 12:39:09
【问题描述】:

我有用于在 Yii2 项目上发送短信的短信网关。 当我调用存储短信代码的特定操作时,短信不会发送。 如果我打印该短信 url 并在浏览器中复制粘贴并点击它.. 它会继续。 我不知道 Yii2 出了什么问题

下面是动作代码,curl代码在模型中

  public function actionMessage() {  
        /*sms code start*/ 
                $model = new BillPersonal();

                $mobile = "9703843454";
                $authKey = "XXXXXXXXXXXXXX";
                $senderId = "XXXXXX";
                $textMessage = "Test Messsage"; 

                $url = sprintf("http://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=".$authKey."&senderid=".$senderId."&channel=2&DCS=0&flashsms=0&number=91".$mobile."&text=".$textMessage."&route=11"); 

                $curl_handle = curl_init();
                      curl_setopt($curl_handle, CURLOPT_URL, $url);
                      curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 5);
                      curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
                      curl_setopt($curl_handle, CURLOPT_USERAGENT, 'CHMS');
                      $query = curl_exec($curl_handle);
       }

【问题讨论】:

  • Yii2 应该没有问题,因为你在这段代码中没有使用 Yii2。它是纯 PHP,您在调试 openurl() 方法时尝试过什么?
  • 我正在运行那个 url $url
  • 那不是在调试你的curl
  • 是的,我认为是因为短信无法发送。
  • 那么请检查您的curl 有什么问题。

标签: curl sms sms-gateway


【解决方案1】:

我终于找到了解决方案。问题在于 CURL 设置。希望这对某人有所帮助。

public function actionSms(){

               $apikey = "XXXXXXXXXXXXXXXXXXX";
               $apisender = "XXXXXXXXX";
               $msg ="YOUR MESSAGE";
               $num = "91XXXXXXXXXXXX";     

               $ms = rawurlencode($msg);   

            $url = 'https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey='.$apikey.'&senderid='.$apisender.'&channel=2&DCS=0&flashsms=0&number='.$num.'&text='.$ms.'&route=1';

             //echo $url;
             $ch=curl_init($url);
             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
             curl_setopt($ch,CURLOPT_POST,1);
             curl_setopt($ch,CURLOPT_POSTFIELDS,"");
             curl_setopt($ch, CURLOPT_RETURNTRANSFER,2);
             $data = curl_exec($ch);
             echo '<br/><br/>';
             print($data); /* result of API call*/
      }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2011-11-09
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多