¿Cómo puedo enviar un mensaje de texto móvil desde la terminal?

51

Acabo de perder mi teléfono. Sé que está aquí en mi casa porque lo usé anoche y mis altavoces bluetooth se conectarán a él esta mañana.

¿Cómo puedo enviar un mensaje de texto a mi teléfono con bash? Entonces sonará la notificación del teléfono y puedo encontrar mi teléfono.

Nota: pedí una solución bash porque es más simple que instalar y configurar una GUI. También me siento más cómodo trabajando en bash que en python, HTML o java, etc. Finalmente, una solución de bash funciona en Windows 10 cuando usa el Subsistema de Windows para Linux ( WSL ).

Nota 2: respuesta a los comentarios:

  • No tengo un teléfono fijo, así que no puedo simplemente llamar a mi teléfono inteligente.
  • Eran las 6 de la mañana del domingo cuando perdí mi teléfono. La gente a la que podía enviar un correo electrónico para llamar a mi teléfono estaba durmiendo. No estaba seguro del nivel de carga de la batería y si moría, nunca podría enviarle un mensaje de texto.
  • Unas semanas antes había desactivado las notificaciones de sonido de correo electrónico en mi teléfono inteligente para no poder enviarme un correo electrónico.
  • No tengo skypeni ningún proveedor de servicios VOIP

Después de 30 minutos, encontré el teléfono inteligente enviándole un mensaje de texto con la respuesta que publiqué a continuación. Estaba escondido debajo de un estante de muebles de 4 "de altura desde el piso en la sala ...

WinEunuuchs2Unix
fuente
1
Si leo esto correctamente, está solicitando el equivalente del servicio Buscar mi teléfono que sonará en su teléfono, independientemente del volumen, el modo de vibración, los auriculares bluetooth, etc. conectados que silencian el teléfono. Sé que Google tiene uno para Android que puedes hacer, pero no conozco la forma de la línea de comandos. Si puedo entenderlo, es ilimitado para su uso. Lo mismo para Apple.
Terrance
3
No hay software para instalar en Android. Simplemente vaya a google.com/android/find
Terrance
3
"¡Vale Google!" escucha intensifica ....
Michael Frank

Respuestas:

45

Mensajes de texto SMS desde Terminal / Shell / Bash

Para los siguientes pasos, abra un indicador de terminal, también conocido como "Interfaz de línea de comandos" o "CLI". En la mayoría de las distribuciones de Linux, haga esto usando Ctrl+ Alt+T

textbelt.com enviar texto desde bash

Encontré un artículo de reddit: envíe un mensaje de texto SMS desde la línea de comandos con este comando Bash / Terminal que puede usar:

curl -X POST https://textbelt.com/text \
   --data-urlencode phone='7801234567' \
   --data-urlencode message='Find Your Phone!' \
   -d key=textbelt

Reemplace 7801234567con su número de teléfono. Si envía un mensaje de texto a un número de teléfono internacional (fuera de Canadá / EE. UU.), Siga estas instrucciones .

Nota: El software reemplaza "¡Encuentra tu teléfono!" con un mensaje de que necesita comprar una clave para usar un mensaje personalizado. Pero el software aún insiste en que debe proporcionar un mensaje que se sobrescribe.


Otras razones para enviar mensajes de texto SMS desde Bash

Encontrar mi teléfono inteligente era una necesidad inusual de enviar un mensaje de texto SMS desde Bash. Es posible que tenga algunas personas a las que se les debe enviar mensajes de texto cuando:

  • Los discos están a punto de fallar (u otros errores de hardware ocurrieron)
  • La utilización del espacio en disco supera el umbral, por ejemplo, 90%
  • RAM está llena y el intercambio se está utilizando mucho
  • El servidor web está experimentando ataques externos
  • Un usuario tenía demasiados inicios de sesión no válidos y la cuenta está desactivada
  • Se ha ejecutado un trabajo específico que afecta procesos clave
  • Un lector de credenciales de puerta supervisa el desbloqueo de una determinada puerta

textbelt.com es gratis por un texto por día

Sólo uno libre de mensaje SMS al día puede ser enviado por un remitente determinado. Aquí hay un ejemplo del primer y segundo intento en un día:

$ find-phone # bash script with above command
{"success":true,"textId":"168141545572031481","quotaRemaining":0}

$ find-phone
{"success":false,"error":"Only one test text message is allowed per day.","quotaRemaining":0}

Nota: Quizás pueda restablecer la dirección IP de su enrutador para más de un texto por día, pero aún no lo he probado.

Puede usar textos prepagos ilimitados. Hay muchos servicios de puerta de enlace SMS disponibles. El precio en el enlace del proveedor anterior varía de $ 0.03 a $ 0.15 por texto. Esto es para referencia y no como respaldo ni recomendación. Haga su tarea y busque proveedores acreditados de pago por servicio a los mejores precios.


Crear secuencia de comandos Bash

Puede crear un script bash llamado que smscontenga:

#!/bin/bash
curl -X POST https://textbelt.com/text --data-urlencode phone='$1' --data-urlencode message='$2' -d key=textbelt
  • Enviar mensaje SMS usando sms 7801234567 "Hello World"
  • Gracias Fabby por probar esto desde la UE y confirmar que funciona allí.

Enviar correo electrónico al operador del teléfono inteligente con mensaje de texto SMS

Para lo siguiente, todo lo que necesita es un navegador web como Firefox, Internet Explorer o Chrome. No es necesario sumergirse en las "entrañas de bash" o limitarse a un mensaje de texto gratis por día.

Muchos operadores le permiten enviar mensajes de texto SMS a un teléfono inteligente dirigiendo un correo electrónico a phone_number@mobile_provider_name.com.

Busque el número de teléfono para obtener la dirección del sitio web del operador

Para obtener la dirección del sitio web del proveedor utilizando el número de teléfono, vaya a: https://freecarrierlookup.com/ . Imagine que ingresamos el número de teléfono 7801234567:

Fee Carrier Lookup.png

Nos dicen que la dirección de correo electrónico que debe usar es [email protected]. Ahora envíe un correo electrónico a esta dirección y su teléfono sonará con una notificación.

Por supuesto, si tiene su teléfono inteligente configurado para que suene con una notificación cuando llegue el correo electrónico, ¡simplemente puede enviarlo por correo electrónico en primer lugar!

Interfaz CLI para enviar dirección de correo electrónico

En Ask Ubuntu hay muchas preguntas y respuestas sobre cómo enviar correos electrónicos usando bash. Estoy usando ssmtp(Protocolo simple de transporte de correo simple) para mis croncopias de seguridad diarias: copia de seguridad de la configuración de Linux, scripts y documentos en Gmail

Aunque esta configuración es para un usuario, puede crear un archivo con múltiples usuarios para enviar mensajes de texto a:

Name         Email Address
Tiny Tim     5551234567@att.com
Mrs. Clause  5552223333@sprint.com
Bad Elf      5551114444@telus.net

Luego, en su código bash, algo como esto :

ssmtp 5551234567@att.com < mail.txt

Donde se mail.txtve así:

Cc: admin@our_company.com
Subject: Nightly Database Update FAILED
From: root@our_company.com
Content-Type: text/html; charset="utf8"


<html>
<body>
<div style="
    background-color:
    #abcdef; width: 300px;
    height: 300px;
    ">
</div>
Nightly database update failed at procedure: AP005.
</body>
</html>

Hay muchas formas de enviar correos electrónicos desde bash. Esto es sólo un ejemplo. Lo importante es que la dirección de correo electrónico contiene el número de teléfono inteligente seguido de la dirección web del proveedor del teléfono inteligente

WinEunuuchs2Unix
fuente
16
También hay direcciones de correo electrónico que puede enviar que la compañía telefónica le enviará a su teléfono como mensaje de texto.
Kevin
1
Skype puede enviar un SMS o una llamada telefónica de voz regular (lo que hará que el teléfono emita sonidos durante más tiempo). Cuesta dinero, pero no demasiado. Tal vez no cobrarán por una llamada telefónica, no contesta (después de encontrar el teléfono) ;-)
sudodus
2
Enviar mensajes de texto por correo electrónico funciona. Sin embargo, debe conocer el operador que utiliza el destinatario de su mensaje de texto. Actualmente, puede determinarlo a través de freecarrierlookup.com . También recibirá una dirección de correo electrónico para enviar mensajes SMS o MMS. es decir: [email protected] ... después de obtener la dirección de correo electrónico para enviar el texto, luego use la metodología de correo electrónico que desee, desde el correo de línea de comando, a gmail, a Thunderbird, etc. para formatear el mensaje de texto y enviarlo .
TonyB
2
Sé que está más allá del alcance de estas preguntas y respuestas, pero para enviar alertas de discos completos / RAM o cualquier otra falla a usuarios dedicados, no confiaría en un servicio que envíe SMS una vez al día, sino que conecte un módem con una tarjeta SIM. En Alemania (¿Europa?), El CEP CT63 es bastante popular.
PerlDuck
1
"La mayoría, si no todos, los operadores" Esa es información bastante localizada. Por aquí (Países Bajos), no parece funcionar.
Mástil
22

Esta respuesta no es para la línea de comandos, ya que no puedo encontrar una solución de línea de comandos para Google.

Si tiene un teléfono Android y no quiere usar la línea de comando, puede ir a https://www.google.com/android/find en un navegador web y llamar a su teléfono desde allí, independientemente de silenciar, vibrar o estar conectado a un auricular Bluetooth. Tampoco se requiere software adicional en su teléfono. Esto también se puede hacer tantas veces como desee en un día.

Terrance
fuente
4

Llamada telefónica desde el navegador, usando Hangouts de Google

También puede localizar su teléfono llamándolo, incluso si no tiene un teléfono fijo.

Requisito previo: una cuenta de Google

Nota: solo la mayoría de las llamadas a EE. UU. Y Canadá son gratuitas. Consulte https://www.google.com/voice/b/0/rates?p=hangout para conocer las tarifas.

  1. Ve a hangouts.google.com.
  2. Haga clic en el botón "Llamada telefónica":
    captura de pantalla del botón
  3. Haz clic en "Nueva conversación":
    captura de pantalla del botón
  4. Ingrese su número telefónico:
    captura de pantalla del cuadro de entrada de número
  5. Haga clic en "Llamar":
    captura de pantalla del botón de llamada
Nonny Moose
fuente
Veo al $0.00lado del número de teléfono para llamar. ¿Puede detallar el costo de usar este servicio?
WinEunuuchs2Unix
No funciona en mi país sin dinero en su cuenta.
sudodus
1
@ WinEunuuchs2Unix ¡Lo siento mucho! Olvidé que Google Hangouts cobra por llamadas fuera de los EE. UU. Y Canadá. He actualizado mi respuesta en consecuencia.
Nonny Moose
@NonnyMoose Gracias por actualizar. Ya voté tu respuesta antes de mi comentario.
WinEunuuchs2Unix
1

La forma en que lo hice hace años fue divertirme con Python y aprender el idioma.

Lo que hice fue:

  • Escriba un código de Python que use el módulo smtp
  • Pruébalo con Gmail
  • Calcule la dirección de correo electrónico que se asigna a mi número de teléfono (busqué las API de correo electrónico a texto de los tres grandes operadores (realmente son solo un dominio de correo electrónico donde el usuario es el número de teléfono))
  • crear una herramienta de línea de comando
  • prueba con mi número de teléfono

¡Y voilá! mensajes de texto de bash.

PD escrito desde un dispositivo móvil difícil de usar ... Si esto llama más la atención, podría buscar el código antiguo

Trevor Boyd Smith
fuente
44
Creo que aquí no se requiere python, use las utilidades de correo de Unix para enviar el mensaje.
val
1
Creo que esto es más una descripción general de una respuesta y los pasos / comandos importantes deben seguir.
WinEunuuchs2Unix
1
@val usando en maillugar de escribir código python con smtp suena como si pudiera obtener una solución un poco más fácil y rápida. Simplemente haga un script de shell bash simple que sería menor que las líneas del jueves.
Trevor Boyd Smith
1
Esta respuesta carece de sustancia. “¿Cómo puedo enviarme mensajes de texto a través de bash?” - “Lo hice, usando python y gmail en mi propio teléfono usando smtp” ... ¿te parece una respuesta productiva o satisfactoria?
vol7ron
¿Notó en la parte inferior "Ps escrito desde un dispositivo móvil difícil de usar". ||| Recreando los pasos no es demasiado difícil. Solo está enviando un correo electrónico desde la línea de comandos. El mailcomando probablemente sería más rápido que el código Python.
Trevor Boyd Smith