El siguiente script en Bash envía como parámetros el número de teléfono y texto de mensaje por método GET a un servicio de Gateway SMS que estará a la escucha en un IP y Puerto especifico, el cual al recibir la petición con dichos parámetros realizara el envió del mensaje de texto SMS, al número indicado. Ideal para realizar envíos de SMS masivos, desatendidos, programados con anticipación, etc…
[sourcecode language="bash"] #!/bin/bash # Bash script envio de mensajes via HTTP GET # Leninmhs texto="Esto es un mensaje sms masivo enviado desde tu consola linux"; texto="${texto// /%20}"; for i in $(cat /home/leninmhs/telefonos.csv); do (( contador_sms++ )) curl -X GET "http://192.168.1.100:9090/sendsms?phone=+58$i&text=$texto"; sleep 1 echo "SMS N°: $contador_sms enviado a: $i en: $(date +%Y-%m-%d:%H:%M:%S)" >> sms.log done [/sourcecode]
Explicación del código fuente
Nota: La numeración presentada a continuación corresponde a las lineas de código mostradas anteriormente.
1, 2 y 3: Le indicamos al programa que usaremos el interprete de bash y comentarios del programa.
5 y 6: Almacenamos en una variable el texto del mensaje que enviaremos y en el caso del gateway sms que estoy usando no aceptaba los espacios en blanco por lo que los tuve que sustituir por su representación en caracteres en la linea 6.
8: Inicio un bucle leyendo el archivo telefonos.csv e iterando en cada linea del mismo. Este archivo contiene un número de teléfono en cada linea.
9: Inicio un contador que incrementara en cada iteración del FOR
10: Uso el programa CURL para indicar que realizare una petición de tipo GET al IP y Puerto del Gateway SMS pasándole como parámetro $i que es el número de teléfono de la linea en la que me encuentro iterando y el texto que le enviará. Deberán estar en la misma red para que se vean la estación de trabajo o servidor que realiza el envió como el servicio que estará a la escucha. Nótese que le pongo +58 (código internacional de mi país Venezuela) al número de teléfono.
11: Indico al programa que espere 1 segundo antes de continuar, comiencen probando con mas segundos.
12: Escribo en un archivo log de nombre sms.log por cada linea de la iteración la cantidad de mensajes que he enviado, el número al que envié y la fecha completa. Pueden monitorear el progreso del envió masivo con $tail -f sms.log
Sobre el GateWay SMS
Muchas alternativas y soluciones de GateWay SMS existen, las hay por hardware es decir soluciones físicas con todo integrado incluso posibilidad de poseer múltiples lineas telefónicas por las cuales realizar el envió. Por software con excelentes soluciones basadas en software libre como http://www.kannel.org. Incluso hoy en día hay aplicaciones en Android muy practicas y sencillas que harán de tu celular una excelente solución para el envió de mensajes de textos desde tu estación de trabajo o servidor basado en Linux.
ATENCIÓN: Si deseas usar el servicio de enviar mensajes de texto sms masivos en Venezuela tengo disponible el servicio web inSMS para el envío de mensajes de texto.
Me interesa mucho esta opcion pero quisiera saber si esta probado en Venezuela, para poder integrarlo con un sistema de control biometrico escolar, gracias.
Correctamente probado, saludos!!
Correctamente probado, saludos!!
Estoy intentnado usar ese mismo gateway de android pero que reciba comandos a traves de pop3, sin embargo no me funciona, toma el numero del correo que envio pero el cuerpo del mensaje llega es javax.mail.internet.mimemultipart@… en ves del mensaje que yo escribi, agradezco si tienes alguna idea.
Hola no lo he usado recibiendo desde correo, haré alguna prueba el fin de semana y te comentó, sin embargo juega en los settings con el long SMS y el prevent cpu sleep que recuerdo a veces tuve intercambiar valores, saludos
no funciona 🙁 ayuda
No funciona el script bash??
Esta entrada ha generado mas interés en el uso de la app android que del script bash para hacer peticiones al gateway y usarlo 🙂
Siempre probaste con los comandos pop3 y si es asi por favor dime como? gracias…!
Si lo probé funciona bien, en la app coloca los datos pop de la cuenta de correo, si usas gmail quizás te diga que es una app que no satisface sus estándares de seguridad!
si me pudieras decir donde encontrar documentacion de este programa porque por mas q busco no encuentro nada! Gracias!
Al parecer es un proyecto abandonado ya no existe el dominio de la app android y la misma no recibe actualización desde el 2012
Saludos tarde pero seguro!! Solo asegura que el correo que envías para disparar el sms sea texto plano!!
Voy un poco tarde, pero he de darte las gracias por darme a conocer esta aplicación.
Actualmente tengo implementado un sistema en java y otro en python para poder enviar sms de forma predeterminada.
También descubrí Servers Ultimate Pro, que también tiene un sms gateway sms, pero la aplicación es de pago, pero permite la comunicación sobre https.
Por otro lado, para enviar sms desde pop tienes que enviar el cuerpo del mensaje en texto plano, yo lo tengo sobre una cuenta de correo con roundcube.
Hola José me alegra que te haya servido de base para ir mas alla, pinta interesante el Servers Ultimate Pro y lo que andas haciendo, actualmente construyendo unas soluciones de gestión de sms, avísame para intercambiar mails. [email protected]
Saludos!!
hola es necesario tener una aplicacion instalada en android para recibir los sms??
Para enviarlos si, es la que se ve en la imagen