如何使用PHP CURL函数发送SMS

时间:2012-01-21 15:28:41

标签: php codeigniter sms

我在网站上有一个帐户,我可以通过该帐户向手机发送短信。为了做到这一点,我首先需要使用我的ID和密码登录,然后页面显示我放置收件人的手机号码然后我的消息,最后点击按钮发送消息。

现在我的一位朋友告诉我,我可以使用PHP Curl功能通过本网站从我自己的应用程序发送短信。我之前没有关于CURL函数的任何想法所以我用谷歌搜索了但我无法弄清楚如何做到这一点。我已经检查了登录页面的HTML代码和我可以发送该网站短信的页面,我将在下面发布。

请您告诉我如何使用CURL函数或任何其他方式发送短信..通过本网站..

先谢谢:)

Form1中

 <form name="form" action="/websms/index.php" method="POST">
 <input type="hidden" name="HTMLForm_formname" value="form">


  <table align="center" size="300" border="0" class="list">
  <tr class="r1">
    <th colspan="3" class="left">
        <label id="label_login_title" for="login_title" class="HTMLForm-label">User  Login</label>

       </th>
</tr>
  <tr>
    <td align="right" valign="top">
        <label id="label_mobile_no" for="mobile_no" class="HTMLForm-label">Mobile Number</label>
    </td>

     <td>
        <input type="text" id="mobile_no" name="mobile_no" size="20" maxlength="11" value="" onkeypress="return checkNumberOnly(event)" class="HTMLForm-text"> 
    </td>


   </tr>
   <tr> 
      <td align="right" valign="top">
        <label id="label_password" for="password" class="HTMLForm-label">Password</label>
    </td>
    <td>
        <input type="password" id="password" name="password" value="" class="HTMLForm-password" size="20">
    </td>

    </tr>

       <tr>
         <td colspan="3" align="center">
            <input type="submit" id="submit" name="submit" value="Login"  class="button_all_action">
            <input type="hidden" id="submit_login" name="submit_login" value="1">
      </td>
     </tr>
  </table>
  </form>

第二表格

<form name="form" action="javascript:get(document.getElementById('form'));" method="POST">
<input type="hidden" name="HTMLForm_formname" value="form">


<table align="center" size="450" border="0" class="list">


<tr class="r2">
    <th class="left">
        <label id="label_send_to_no" for="send_to_no" class="HTMLForm-label">To</label>
    </th>
    <td class="left">
        <textarea id="send_to_no" name="send_to_no" class="HTMLForm-textarea" onkeypress="checkValidGPNumner(document.form.send_to_no)" onchange="checkValidGPNumner(document.form.send_to_no)" onkeyup="checkValidGPNumner(document.form.send_to_no)" wrap="soft" style="width:250px;height:50px"></textarea>  

    </td>    
  </tr>

 <tr class="r1">

    <th class="left">
        <label id="label_message" for="message" class="HTMLForm-label">Message</label>
    </th>
    <td class="left">
        <textarea id="message" name="message" class="HTMLForm-textarea" onkeypress="textCounter(document.form.message,document.form.counter_message,160)" onchange="textCounter(document.form.message,document.form.counter_message,160)" onkeyup="textCounter(document.form.message,document.form.counter_message,160)" wrap="soft" style="width:250px;height:130px"></textarea>

       <input type="text" id="counter_message" name="counter_message" size="5" value="" readonly="" class="HTMLForm-text"> <label id="label_char_remain" for="char_remain" class="HTMLForm-label">Character remained</label> 
    </td>

 </tr>

     <tr class="r2">
     <td colspan="2" class="center">
        <input type="submit" id="submit" name="submit" value="Send" class="button_all_action">
        <input type="hidden" id="mid" name="mid" value="1">
        <input type="hidden" id="submit_sms" name="submit_sms" value="1">
    </td>
    </tr>
     </table>
   </form>

6 个答案:

答案 0 :(得分:3)

发送短信的简单CURL函数:

    function CURLsendsms($number, $message_body){   

        $api_params = $api_element.'?apikey='.$apikey.'&sender='.$sender.'&to='.$mobileno.'&message='.$textmessage;  
        $smsGatewayUrl = "http://springedge.com";  
        $smsgatewaydata = $smsGatewayUrl.$api_params;
        $url = $smsgatewaydata;

        $ch = curl_init();                       // initialize CURL
        curl_setopt($ch, CURLOPT_POST, false);    // Set CURL Post Data
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $output = curl_exec($ch);
        curl_close($ch);                         // Close CURL

        // Use file get contents when CURL is not installed on server.
        if(!$output){
           $output =  file_get_contents($smsgatewaydata);  
        }

    }

答案 1 :(得分:2)

您确实可以使用cURL发送短信,但cURL只是其中的一部分。使用cURL,您可以向Twilio等提供程序进行API调用。

答案 2 :(得分:1)

这是使用Twilio的解决方案。

首先,您必须下载PHP的twilio库: https://github.com/twilio/twilio-php/downloads

然后复制服务器中的“服务”文件夹,并记住该位置。

现在你必须创建一个如下所示的简单程序(这是一个简单的php短信发送者的例子):

<?php //lets say that the name of this php is smsSender.php

$contactname = $_POST['name'];
$contactphone = $_POST['mobile_no'];

$message = $_POST['message'];


require 'Services/Twilio.php';//<<<<<<<<<HERE! make sure the path is ok.

$AccountSid = "AXXXXXX"; // this numbers you can find it in your twilio dashboard
$AuthToken = "TXXXXXXXXX";// also this number .

$client = new Services_Twilio($AccountSid, $AuthToken);

$people = array(
//"4566789903" => "Curious George",
$contactphone => $contactname,
);

foreach ($people as $number => $name) {

$sms = $client->account->sms_messages->create("7035960031",$number,
$message);

echo "Sent message to $name";

}
?>

因此,您需要在表单中更改此操作:

<form name="form" action="smsSender.php" method="POST">

注意:如果您使用的是试用帐户,则只能发送到您帐户中经过验证的号码,但如果您注册了一个电话号码(1美元/月),那么您可以发送任何号码而无需沙箱消息)。

重要提示:必须在php服务器上安装Curl库,如果您使用自己的服务器,假设在UBUNTU中,此命令将安装这些库: sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

答案 3 :(得分:0)

更改为此后,代码对我来说非常有用。

foreach ($people as $number => $name) {
$client->account->messages->sendMessage("+12055xxxxxx",$number,
$message);

答案 4 :(得分:-2)

我不确定您是否可以使用CURL发送短信,但您可以使用PHP的邮件功能。 但我从未这样做过。

答案 5 :(得分:-3)

Curl主要用于从其他网站上删除内容,它没有任何发送短信的功能。你必须使用其他方式。

您可以通过这些工具连接到您的短信(文本服务器),您可以发送短信。如果你需要并且急于使用它,你可以使用curl来获取你的短信回复等等。