2011-09-09 23 views
7

Guíeme con código de muestra para enviar sms a través del sitio web. Cómo incluir la puerta de enlace de SMS. Por favor, dime, ¿puedo usar way2sms.com como puerta de enlace?Envío de SMS a través de la puerta de enlace gratuita

¿Es la manera correcta de usar? por favor sugiérame solo que esta cantidad de código funciona?

<?php 
error_reporting(E_ALL); 
ob_implicit_flush(true); 


include_once "class.curl.php"; 
include_once "class.sms.php"; 

$smsapp=new sms(); 
$smsapp->setGateway('way2sms'); 


echo "Logging in ... "; 
$smsapp->login('10 digit number','way2sms password'); 

echo "Sending SMS ... "; 
$result=$smsapp->send('receipient number','text message'); 

if($result=='true') 
{ 
    echo "Message sent"; 
} 
else 
{ 
    echo "Error encountered : ".$smsapp->getLastError(); 
} 

?> 

aquí es mi class.curl.php

<?php 
class sms 
{ 
    var $username; 
    var $password; 
    var $curl; 
    var $server; 
    var $loginDone; 
    var $debugMode; 
    var $data; 
    var $error; 
    public function __construct() 
    { 
     $this->curl=new cURL(); 
    // $this->curl->setProxy(""); 
     $this->loginDone=false; 
     $this->debugMode=false; 
     $this->data=array(); 
    } 
    public function setGateway($serverName) 
    { 
     switch($serverName) 
     { 
      case '160by2': 
      $this->server='160by2'; 
      break; 

      case 'way2sms': 
      $this->server='way2sms'; 
      break; 

      case 'airtel': 
      $this->server='airtel'; 
      break; 

      default : 
      $this->server='way2sms'; 

     } 
    } 
    public function login($username,$password) 
    { 
     $server=$this->server; 

     call_user_func(array($this,"login_$server"),$username,$password); 
     $this->loginDone=true; 

    } 
    public function send($number,$msg) 
    { 
     $server=$this->server; 
     if($this->loginDone) 
     return call_user_func(array($this,"send_$server"),$number,$msg); 
     else 
     { 
      echo "<h2>Please login first before sending SMS</h2>"; 
     } 

    } 
    private function login_way2sms($username,$password) 
    { 
     $out=($this->curl->post("http://www.way2sms.com","1=1")); 
     $pattern="/Location:(.+?)\n/"; 
     preg_match($pattern,$out,$matches); 
     $domain=trim($matches[1]); 

     $this->data['domain']=$domain; 

     $out= $this->curl->post("{$domain}auth.cl","username=$username&password=$password&Submit=Sign+in"); 

     $pattern="/Location:(.+?)\n/"; 
     preg_match($pattern,$out,$matches); 
     $referer=trim($matches[1]); 
     $this->data['referer']=$referer; 


    } 


    private function send_way2sms($number,$msg) 
    { 
     $domain=$this->data['domain']; 
     $html=$this->curl->post("{$domain}jsp/InstantSMS.jsp?val=0","1=1",$this->data['referer']); 
     if($this->debugMode) 
     { 
     echo "<h2>After logging in, the HTML returned by server is</h2>"; 
     echo $html; 
     } 

     $pattern = '/name="Action".+?value="(.*)"/'; 
     preg_match($pattern, $html, $matches); 

     $custfrom=$matches[1]; 
     $msg=urlencode($msg); 
     $html=$this->curl->post("{$domain}FirstServletsms?custid=","custid=undefined&HiddenAction=instantsms&Action={$custfrom}&login=&pass=&MobNo=$number&textArea=$msg"); 
     $pattern = '/class="style1">(.+?)<\/span>/'; 
     preg_match($pattern, $html, $matches); 
     $out=($matches[1]); 

     if(!preg_match("/successfully/",$out)) 
     { 
     $this->setError($out); 
     return false; 
     } 
     else 
     { 
     return true; 
     $this->setError("No errors"); 
     } 

    } 
    public function getLastError() 
    { 
     return $this->error; 

    } 
    private function setError($error) 
    { 
     $this->error=$error; 
    } 
    private function login_160by2($username,$password) 
    { 
    // $out2=$this->curl->get("http://m.160by2.com"); 
     $out=$this->curl->post("http://m.160by2.com/LoginCheck.asp?l=1&txt_msg=&mno=","txtUserName=$username&txtPasswd=$password&RememberMe=Yes&cmdSubmit=Login"); 
     $pattern="/MyMenu.asp\?Msg=(.+?)&/"; 

     preg_match($pattern,$out,$matches); 
     $id=trim($matches[1]); 
     $this->data['id']=$id; 

    } 

    private function send_160by2($number,$msg) 
    { 
     $msg=urlencode($msg); 
     $id=$this->data['id']; 
     $out1=$this->curl->post("http://m.160by2.com/SaveCompose.asp?l=1","txt_mobileno=$number&txt_msg=$msg&cmdSend=Send+SMS&TID=&T_MsgId=&Msg=$id"); 
     //echo $out1; 
     $pattern = '/\<table.+?\>(.+)\<\/table/s'; 
     preg_match($pattern, $out1, $matches); 

     $out=strip_tags(@$matches[1]); 
     if(count($matches)<1) 
     { 
     $pattern="/\<div.+?background:.+?yellow.+?\>(.+?)\<\/div\>/s"; 

     preg_match($pattern,$out1,$matches); 

     $out=strip_tags($matches[1]); 
     } 

// 
    // echo "out is $out"; 

     if(!preg_match("/successfully/i",$out)) 
     { 

     $this->setError($out); 

     return false; 
     } 
     else 
     { 
     return true; 
     $this->setError("No errors"); 
     } 

    } 

    private function login_airtel($username,$password) 
    { 
     $this->data['username']=$username; 
     $this->data['password']=$password; 

    } 


    private function send_airtel($number,$msg) 
    { 

    } 
} 

?> 

en el lugar del nombre de usuario y contraseña, que nombre de usuario y contraseña debo usar?

+2

Probablemente necesite preguntarles, no nosotros –

Respuesta

16

Sí, o usted podría utilizar las pasarelas de lo previsto por los propios proveedores de servicios inalámbricos, ya que entonces es tan sencillo como enviar un correo electrónico con PHP's mail function.

Donde (número) es, debe incluir su número de teléfono de 10 dígitos. Entonces eso significa que debe incluir su código de área.

& AT T (Número) @ txt.att.net

T-Mobile (Número) @ tmomail.net

Sprint (Número) @ messaging.sprintpcs.com

Verizon (Número) @ vtext.com O (Número) @ vzwpix.com

+0

muchas gracias. Voy a probar – priya

+0

No se olvide de la votación. :) –

+0

por favor sugiérame, ¿necesito contactar al soporte de way2sms.com para hacer sms gateway u obtener los detalles? lo siento. no se nada de esto así que estoy preguntando desde cero. – priya

1

Parece bien, excepto una línea cambio de este

if($result=='true') 
to 
if($result == true) 
+0

@ JapanPro, gracias. ¿Por favor, guíame cómo usarlo en mi sitio web? y cómo configurar la puerta de enlace de SMS? Si uso este código ¿es suficiente para enviar sms a través del sitio web? – priya

+0

He editado el código, por favor sugiérame – priya

+0

¿alguien me puede ayudar, por favor? – priya

Cuestiones relacionadas