Come posso inviare messaggi di testo mobili dal terminale?


51

Ho appena perso il mio telefono. So che è qui a casa mia perché l'ho usato ieri sera e i miei altoparlanti bluetooth si collegheranno ad esso questa mattina.

Come posso inviare un SMS al mio telefono usando bash? Quindi suonerà la notifica del telefono e posso trovare il mio telefono.

Nota: ho chiesto una soluzione bash perché è più semplice dell'installazione e della configurazione di una GUI. Inoltre mi sento più a mio agio a lavorare su bash di python, HTML o java, ecc. Infine, una soluzione bash funziona in Windows 10 quando si utilizza il sottosistema Windows per Linux ( WSL ).

Nota 2: Rispondi ai commenti:

  • Non ho un telefono fisso, quindi non posso semplicemente chiamare il mio smartphone.
  • Erano le 6 di domenica mattina quando ho perso il telefono. Le persone a cui potevo inviare un'e-mail per chiamare il mio telefono dormivano. Non ero sicuro del livello di carica della batteria e se fosse morto, non avrei mai potuto scriverlo.
  • Alcune settimane prima avevo disattivato le notifiche audio via e-mail sul mio smartphone, quindi non potevo inviarmi un'e-mail.
  • Non ho skypeo nessun fornitore di servizi VOIP

Dopo 30 minuti ho trovato lo smartphone inviando un SMS utilizzando la risposta che ho pubblicato di seguito. Era nascosto sotto uno scaffale alto 4 "dal pavimento del soggiorno ...


1
Se l'ho letto correttamente, mi stai chiedendo l'equivalente del servizio Trova il mio telefono che farà squillare il tuo telefono indipendentemente dal volume, dalla modalità vibrazione, dalle cuffie bluetooth, ecc. Che rendono silenzioso il telefono. So che Google ha quello per Android che puoi fare, ma non sono a conoscenza della forma della riga di comando. Se riesco a capirlo è illimitato per l'uso. Stessa cosa per Apple.
Terrance,

3
Non è necessario installare alcun software su quello Android. Vai su google.com/android/find
Terrance il

3
"Va bene Google!" l'ascolto si intensifica ....
Michael Frank il

Risposte:


45

SMS da Terminale / Shell / Bash

Per i passaggi seguenti, aprire un prompt del terminale noto come "Command Line Interface" o "CLI". Nella maggior parte delle distribuzioni Linux, usa Ctrl+ Alt+T

textbelt.com per inviare testo da bash

Ho trovato un articolo reddit: Invia un SMS dalla riga di comando con questo comando Bash / Terminal che puoi usare:

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

Sostituisci 7801234567con il tuo numero di telefono. Se stai scrivendo un numero di telefono internazionale (al di fuori del Canada / USA), segui queste istruzioni .

Nota: il software sostituisce "Trova il tuo telefono!" con un messaggio che è necessario acquistare una chiave per utilizzare un messaggio personalizzato. Ma il software insiste ancora sul fatto che è necessario fornire un messaggio che viene sovrascritto.


Altri motivi per l'invio di SMS da Bash

Trovare il mio smartphone è stata un'insolita necessità di inviare un SMS da Bash. Potresti avere alcune persone che dovrebbero essere mandate un messaggio quando:

  • I dischi stanno per fallire (o si sono verificati altri errori hardware)
  • L'utilizzo dello spazio su disco supera la soglia, ad esempio il 90%
  • La RAM è piena e lo swap viene utilizzato pesantemente
  • Il server Web sta subendo attacchi esterni
  • Un utente aveva troppi accessi non validi e l'account è disattivato
  • È stato eseguito un lavoro specifico che influisce sui processi chiave
  • Un lettore di badge porta controlla che una determinata porta sia sbloccata

textbelt.com è gratuito per un testo al giorno

Solo un messaggio SMS gratuito al giorno può essere inviato da un determinato mittente. Ecco un esempio del primo e del secondo tentativo in un giorno:

$ 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: è possibile ripristinare l'indirizzo IP del router per più di un testo al giorno, ma non l'ho ancora testato.

È possibile utilizzare testi illimitati prepagati. Sono disponibili molti servizi gateway SMS. Il prezzo al link del fornitore sopra varia da $ 0,03 a $ 0,15 per testo. Questo è per riferimento e non un'approvazione o una raccomandazione. Si prega di fare i compiti e cercare fornitori affidabili pay-per-service ai migliori prezzi.


Crea script Bash

È possibile creare uno script bash chiamato smscontenente:

#!/bin/bash
curl -X POST https://textbelt.com/text --data-urlencode phone='$1' --data-urlencode message='$2' -d key=textbelt
  • Invia SMS utilizzando sms 7801234567 "Hello World"
  • Grazie Fabby per aver testato questo dall'UE e aver confermato che funziona lì.

Invia e-mail al gestore dello smartphone con SMS

Per quanto segue tutto ciò che serve è un browser Web come FireFox, Internet Explorer o Chrome. Non è necessario immergersi nelle "viscere della bash" o limitarsi a un solo testo libero al giorno.

Molti gestori ti consentono di inviare SMS a uno smartphone indirizzando un'email a phone_number@mobile_provider_name.com.

Numero di telefono cercare per ottenere l'indirizzo del sito Web del corriere

Per ottenere l'indirizzo del sito Web del provider utilizzando il numero di telefono, visitare: https://freecarrierlookup.com/ . Immagina di aver inserito il numero di telefono 7801234567::

Fee Carrier Lookup.png

Ci viene detto che l'indirizzo e-mail da utilizzare è 7801234567@pcs.rogers.com. Ora invia un'email a questo indirizzo e il tuo telefono suonerà con una notifica.

Ovviamente se lo smartphone è configurato per emettere una notifica quando arriva l'e-mail, puoi semplicemente inviare un'e-mail al telefono!

Interfaccia CLI per l'invio dell'indirizzo e-mail

In Ask Ubuntu ci sono molte domande e risposte su come inviare e-mail usando bash. Sto usando ssmtp(Secure Simple Mail Transport Protocol) per i miei cronbackup quotidiani: backup di configurazione Linux, script e documenti su Gmail

Sebbene questa configurazione sia per un utente, è possibile creare un file con più utenti per inviare messaggi di testo a:

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

Quindi nel tuo codice bash qualcosa del genere :

ssmtp 5551234567@att.com < mail.txt

Dove si mail.txtpresenta così:

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>

Esistono molti modi per inviare e-mail da bash. Questo è solo un esempio. L'importante è che l'indirizzo e-mail contenga il numero dello smartphone seguito dall'indirizzo web del fornitore dello smartphone


16
Ci sono anche indirizzi e-mail a cui puoi inviare che la compagnia telefonica inoltrerà al tuo telefono come testo.
Kevin,

1
Skype può inviare un SMS o una normale chiamata vocale (che farà suonare il telefono più a lungo). Costa denaro, ma non troppo. Forse non faranno pagare per una telefonata, se non rispondi (dopo aver trovato il telefono) ;-)
sudodus

2
Invio di TESTO via e-mail funziona. Tuttavia, è necessario conoscere il corriere utilizzato dal destinatario del messaggio di testo. Attualmente, puoi determinare che tramite freecarrierlookup.com otterrai anche un indirizzo e-mail da utilizzare per l'invio di un messaggio SMS o MMS. cioè: 8771234567@txt.att.net ... dopo aver ottenuto l'indirizzo e-mail per l'invio di testo, quindi utilizzare la metodologia e-mail desiderata, dalla posta a riga di comando, a Gmail, a Thunderbird, ecc. per formattare il messaggio di testo e inviarlo .
TonyB,

2
So che va oltre lo scopo di queste domande e risposte, ma per l'invio di avvisi per dischi / RAM completi o altri errori agli utenti dedicati non farei affidamento su un servizio che invia SMS una volta al giorno ma collega invece un modem con una scheda SIM. In Germania (Europa?) Il CEP CT63 è piuttosto popolare.
PerlDuck,

1
"La maggior parte se non tutti i gestori" Sono informazioni piuttosto localizzate. Da queste parti (Paesi Bassi), non sembra funzionare.
Albero il

22

Questa risposta non è per la riga di comando in quanto non riesco a trovare una soluzione a riga di comando per Google.

Se hai un telefono Android e non desideri utilizzare la riga di comando, puoi andare su https://www.google.com/android/find in un browser Web e far squillare il telefono da lì indipendentemente da muto, vibrazione o essere collegato a un auricolare Bluetooth. Non è necessario alcun software aggiuntivo sul telefono. Questo può anche essere fatto tutte le volte che vuoi in un giorno.


4

Telefonata dal browser, utilizzando Google Hangouts

Puoi anche localizzare il tuo telefono chiamandolo, anche se non hai un telefono fisso.

Prerequisito: un account Google

Nota: solo la maggior parte delle chiamate verso Stati Uniti e Canada sono gratuite. Consulta https://www.google.com/voice/b/0/rates?p=hangout per le tariffe.

  1. Vai su hangouts.google.com
  2. Fai clic sul pulsante "Telefonata":
    screenshot del pulsante
  3. Fai clic su "Nuova conversazione":
    screenshot del pulsante
  4. Inserisci il tuo numero di telefono:
    screenshot della casella di immissione dei numeri
  5. Fai clic su "Chiama":
    screenshot del pulsante di chiamata

Vedo $0.00accanto al numero di telefono da chiamare. Puoi approfondire i costi per utilizzare questo servizio?
WinEunuuchs2Unix il

Non funziona nel mio paese senza denaro sul loro conto.
sudodus,

1
@ WinEunuuchs2Unix Mi dispiace tanto! Ho dimenticato che Google Hangouts addebita le chiamate al di fuori degli Stati Uniti e del Canada. Ho aggiornato la mia risposta di conseguenza.
Nonny Moose,

@NonnyMoose Grazie per l'aggiornamento. Ho già votato la tua risposta prima del mio commento.
WinEunuuchs2Unix il

1

Il modo in cui l'ho fatto anni fa era divertirmi con Python e imparare la lingua.

Quello che ho fatto è stato:

  • Scrivi del codice Python che utilizza il modulo smtp
  • Provalo con Gmail
  • Capire l'indirizzo e-mail che si associa al mio numero di telefono (ho cercato le e-mail delle tre grandi compagnie aeree con le API di testo (in realtà sono solo un dominio di posta elettronica in cui l'utente è il numero di telefono))
  • creare uno strumento da riga di comando
  • prova con il mio numero di telefono

E VOILA! mandare messaggi da bash.

Ps scritto da un dispositivo mobile difficile da usare ... Se questo attira più attenzione, potrei cercare di trovare il vecchio codice


4
Penso che python non sia richiesto qui, utilizzare utils di posta unix per inviare messaggi.
val

1
Penso che questa sia più una panoramica di una risposta e gli importanti passaggi / comandi devono seguire.
WinEunuuchs2Unix il

1
@val usando mailinvece di scrivere codice Python con smtp sembra che potresti ottenere una soluzione un po 'più semplice e veloce. Basta fare un semplice script bash shell che sarebbe inferiore alle righe di giovedì.
Trevor Boyd Smith,

1
Questa risposta manca di sostanza. "Come posso mandare un messaggio tramite bash" - "L'ho fatto, usando Python e Gmail sul mio telefono usando smtp" ... ti sembra una risposta produttiva o soddisfacente?
vol7ron,

Hai notato in fondo "Ps scritto da un dispositivo mobile difficile da usare". ||| Ricreare i passaggi non è troppo difficile. Stai solo inviando un'email dalla riga di comando. Il mailcomando sarebbe probabilmente più veloce del codice Python probabilmente.
Trevor Boyd Smith il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.