Envio de mensajes SMS via HTTP GET desde Bash Script
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…
#!/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 doneExplicació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.
(más…)