Enviar un mensaje de texto SMS desde la línea de comandos

Anonim

Cuando piensas en enviar mensajes de texto, probablemente pienses en el iPhone o en un Android, y la línea de comandos no se te pasa por la cabeza, pero gracias al siempre útil comando curl, puedes enviar un mensaje de texto SMS a cualquier teléfono. número directamente desde la Terminal.

Sí, curl, la misma herramienta de línea de comandos para transferir datos hacia y desde URL, descargar archivos, obtener detalles de encabezado HTTP y mucho más, puede enviar mensajes de texto.Esto se hace a través de una solicitud POST enviada al servicio TextBelt, una API de SMS saliente gratuita. Claro que hay límites, pero son bastante generosos con 75 mensajes de texto por día (por IP), y no puede enviar más de 3 mensajes de texto en tres minutos para evitar el abuso. Aparte de eso, tenga en cuenta que se le cobrará por los mensajes de texto entrantes a la tarifa normal de SMS / mensajes de texto de su proveedor de telefonía móvil; esto no usa el servicio de iMessage, así que no use en exceso esto si no tiene un servicio ilimitado. plan de mensajes de texto tradicional.

Enviar un mensaje de texto desde la línea de comandos con curl

La sintaxis básica a usar es la siguiente, asegúrese de reemplazar elcon su propio número de teléfono de 10 dígitos (10 dígitos=código de área + número de teléfono), y luego reemplace el texto del mensaje=con su propio mensaje para enviar:

"

curl http://textbelt.com/text -d número=-d mensaje=el texto va aquí "

Por ejemplo, para enviar un mensaje de texto diciendo “hola desde OSXDaily.com” al número de teléfono 555-155-1555 (no es un número real), usaría la siguiente cadena de comando:

"

curl http://textbelt.com/text -d número=5551551555 -d mensaje=hola de OSXDaily.com "

Sí, también podría poner el número de teléfono de otra persona, pero probablemente no debería hacerlo sin su permiso.

Si el texto se envió con éxito, la línea de comando devolverá un mensaje que dice '{“success”:true}', si falla por cualquier motivo, se verá como lo siguiente, que suele ser indicativo de un error en la sintaxis de su comando: '{"éxito": falso, "mensaje": "Se requieren parámetros de número y mensaje".} curl: (6) No se pudo resolver el host:' Simplemente revise la cadena de comando y intentar otra vez.

El mensaje de texto debería llegar a su iPhone o Android muy rápidamente, aunque la conveniencia del servicio probablemente depende de la cola y la cantidad de actividad que recibe TextBelt de otros lugares. Aparecerá con un aspecto similar al siguiente:

(Si te estás preguntando, responder a los mensajes de texto no lleva a ninguna parte y no hace nada, no es un servicio bidireccional)

Esto funciona para enviar textos desde Mac OS X, Linux y, presumiblemente, cualquier otro sistema operativo o servicio que tenga acceso curl. El lado del destinatario debe funcionar con cualquier teléfono móvil que acepte SMS, ya sea un iPhone o un Nokia antiguo.

Agregar un comando rápido de 'Enviar texto' a Bash

Si disfruta de la comodidad de enviarse a sí mismo mensajes de texto desde la terminal y planea usarlo con frecuencia, puede crear un script bash simple para acortar la cadena de comando agregando lo siguiente a su .bash_profile. Asegúrese de reemplazar el número con su número de teléfono de 10 dígitos:

"

sendtext () { curl http://textbelt.com/text -d número=5551113333 -d mensaje=$1; mensaje de eco enviado; }"

Con eso en su bash_profile, simplemente puede escribir "enviar texto, su mensaje va aquí" para enviarse un mensaje de texto a sí mismo. Esto también permite algo de diversión y utilidad con los símbolos && dobles, como enviarse alertas por SMS cuando un paquete de software haya terminado de instalarse o cuando un archivo remoto haya terminado de descargarse. Aquellos con experiencia en la línea de comandos probablemente también puedan pensar en un millón y otro uso útil para esto.

Según TextBelt, el servicio definitivamente funciona dentro de los EE. UU. con las siguientes redes celulares: Alltel, Ameritech, AT&T Wireless, Boost, CellularOne, Cingular, Sprint PCS, Telus Mobility, T-Mobile, Metro PCS , Nextel, O2, Orange, Qwest, Rogers Wireless, US Cellular, Verizon, Virgin Mobile. Es posible que esto se limite a los EE. UU., pero no podemos probar redes fuera de la región; infórmenos si lo prueba en otro lugar.

Enviar un mensaje de texto SMS desde la línea de comandos