Enviar sms desde php

La siguiente función permite realizar el envío de sms con php. De esta forma tu código php corriendo en tu servidor podrá enviar alertas que te sean útiles (una caída de un servicio, una compra, un registro de usuario)

Como en anteriores ejemplos, para hacer real el envío, es necesario un proveedor sms que sirve de intermediario entre nuestro servidor php y los operadores de telefonía móvil. El ejemplo utiliza la pasarela de envío de sms masivos de Altiria con php.

El protocolo http para el envío de sms es el utilizado para las comunicaciones con el proveedor.

Este método se puede llamar desde cualquier parte de tu servidor para hacer el envío de sms. Integrar el envío de sms con php se hará, por ejemplo, con el siguiente código que envía un sms a los números 34600111222 y 34600111333, mostrando un texto en caso de que el envío del sms se haya realizado correctamente y el texto de error generado en caso de error en el envío de sms desde php.

<!--? // sDestination: lista de núumeros, comenzando por 34 y separados por comas  
// sMessage: hasta 160 caracteres  
// XX, YY y ZZ se corresponden con los valores de identificación del  
// usuario en el sistema.  
// Como ejemplo la petición se envía a www.pasarelasms.net/sustituirPOSTsms  
// Se debe reemplazar la cadena ’/sustituirPOSTsms’ por la parte correspondiente 
// de la URL suministrada por Altiria al dar de alta el servicio de envío de sms desde PHP
function AltiriaSMS($sDestination,$sMessage) {  $sData = "cmd=sendsms&#038;domainId=XX&#038;login=YY&#038;passwd=ZZ&#038;dest=".str_replace(",","&#038;dest=",$sDestination)."&#038;msg=" .urlencode(utf8_encode(substr($sMessage,0,160)));  
$fp = fsockopen("www.pasarelasms.net", 80);  
// Reemplazar la cadena ’/sustituirPOSTsms’ por la parte correspondiente // de la URL suministrada por Altiria al dar de alta el servicio $buf = "POST /sustituirPOSTsms HTTP/1.0\r\n";  
$buf .= "Host: www.pasarelasms.net\r\n";  
$buf .= "Content-type: application/x-www-form-urlencoded; charset=UTF-8\r\n";  
$buf .= "Content-length: ".strlen($sData)."\r\n";  
$buf .= "\r\n"; $buf .= $sData;  fputs($fp, $buf); 
$buf = "";  while (!feof($fp)) 
$buf .= fgets($fp,128); 
fclose($fp); 
if (strstr($buf,"ERROR"))  return $buf; else return ""; } 
/* $resp= AltiriaSMS("34600111222,34600111333", "Texto de prueba"); if (!$resp) print "Mensaje enviado correctamente!\n"; else echo strstr($resp,"ERROR"); */ ?-->

6 comentarios

  1. Quisiera saber si elcodigo es aplicable para mandar sms en Bolivia

    responde por favor
    Gracias de antemano…

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *