Wie kann ich vom Terminal aus eine mobile Textnachricht senden?

51

Ich habe gerade mein Handy verloren. Ich weiß, dass es hier in meinem Haus ist, weil ich es letzte Nacht benutzt habe und meine Bluetooth-Lautsprecher heute Morgen eine Verbindung dazu herstellen werden.

Wie kann ich mit bash eine SMS an mein Telefon senden? Dann ertönt die telefonische Benachrichtigung und ich kann mein Telefon finden.

Hinweis: Ich habe nach einer Bash-Lösung gefragt, da diese einfacher ist als die Installation und Konfiguration einer GUI. Außerdem fühle ich mich wohler mit Bash als mit Python, HTML oder Java usw. Schließlich funktioniert eine Bash-Lösung unter Windows 10, wenn Sie das Windows-Subsystem für Linux ( WSL ) verwenden.

Anmerkung 2: Auf Kommentare antworten:

  • Ich habe kein Festnetz und kann mein Smartphone nicht einfach anrufen.
  • Es war 6 Uhr am Sonntagmorgen, als ich mein Telefon verlor. Leute, die ich per E-Mail anrufen konnte, schliefen. Ich war mir nicht sicher über den Ladezustand des Akkus, und wenn er ausfällt, kann ich ihm niemals eine SMS senden.
  • Einige Wochen zuvor hatte ich die E-Mail-Soundbenachrichtigungen auf meinem Smartphone deaktiviert, damit ich mir keine E-Mails senden konnte.
  • Ich habe skypenoch keinen VOIP -Dienstanbieter

Nach 30 Minuten habe ich das Smartphone gefunden, indem ich eine SMS mit der unten angegebenen Antwort gesendet habe. Es war unter einem 4 "hohen Möbelregal im Wohnzimmer versteckt ...

WinEunuuchs2Unix
quelle
1
Wenn ich das richtig gelesen habe, fragen Sie nach dem Äquivalent des Dienstes "Mein Telefon suchen", der Ihr Telefon unabhängig von Lautstärke, Vibrationsmodus, verbundenem Bluetooth-Kopfhörer usw. anruft und das Telefon stumm macht. Ich weiß, dass Google das für Android hat, das Sie tun können, aber mir ist die Befehlszeilenform nicht bekannt. Wenn ich es herausfinden kann, kann es unbegrenzt verwendet werden. Gleiches gilt für Apple.
Terrance
3
Auf dem Android-Gerät muss keine Software installiert werden. Gehen Sie einfach auf google.com/android/find
Terrance
3
"Okay Google!" das Zuhören intensiviert sich ....
Michael Frank

Antworten:

45

SMS-SMS vom Terminal / Shell / Bash

Öffnen Sie für die folgenden Schritte eine Terminal-Eingabeaufforderung, die als "Command Line Interface" oder "CLI" bezeichnet wird. In den meisten Linux - Distributionen tun dies mit Ctrl+ Alt+T

textbelt.com um Text aus der Bash zu senden

Ich habe einen reddit-Artikel gefunden: Senden Sie eine SMS-Textnachricht von der Befehlszeile mit diesem Bash / Terminal-Befehl, den Sie verwenden können:

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

Ersetzen Sie 7801234567durch Ihre Telefonnummer. Wenn Sie eine internationale Telefonnummer (außerhalb von Kanada / USA) anrufen, befolgen Sie diese Anweisungen .

Hinweis: Die Software ersetzt "Find Your Phone!" mit einer Nachricht, dass Sie einen Schlüssel kaufen müssen, um eine benutzerdefinierte Nachricht zu verwenden. Die Software besteht jedoch weiterhin darauf, dass Sie eine Nachricht bereitstellen, die überschrieben wird.


Andere Gründe für das Senden von SMS-Textnachrichten aus Bash

Das Auffinden meines Smartphones war eine ungewöhnliche Notwendigkeit, eine SMS-Nachricht von Bash aus zu senden. Möglicherweise haben Sie einige Personen, die eine SMS erhalten sollten, wenn:

  • Datenträger fallen gleich aus (oder es sind andere Hardwarefehler aufgetreten)
  • Die Speicherplatzauslastung überschreitet den Schwellenwert, z. B. 90%.
  • RAM ist voll und Swap wird stark genutzt
  • Auf dem Webserver kommt es zu externen Angriffen
  • Ein Benutzer hatte zu viele ungültige Anmeldungen und das Konto ist deaktiviert
  • Es wurde ein bestimmter Job ausgeführt, der wichtige Prozesse beeinflusst
  • Ein Türausweisleser überwacht das Entriegeln einer bestimmten Tür

textbelt.com ist für einen Text pro Tag kostenlos

Pro Tag kann nur eine kostenlose SMS-Nachricht von einem bestimmten Absender gesendet werden. Hier ist ein Beispiel für den ersten und zweiten Versuch an einem Tag:

$ 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}

Hinweis: Möglicherweise können Sie die IP-Adresse Ihres Routers für mehr als einen Text pro Tag zurücksetzen, aber ich habe dies noch nicht getestet.

Sie können unbegrenzte Prepaid-Texte verwenden. Es stehen viele SMS-Gateway-Dienste zur Verfügung. Die Preise für die oben genannten Anbieter-Links variieren zwischen 0,03 USD und 0,15 USD pro Text. Dies ist nur als Referenz gedacht und keine Empfehlung. Bitte machen Sie Ihre Hausaufgaben und suchen Sie nach seriösen Pay-for-Service-Anbietern zu den besten Preisen.


Erstellen Sie ein Bash-Skript

Sie könnten ein Bash-Skript mit folgendem Namen erstellen sms:

#!/bin/bash
curl -X POST https://textbelt.com/text --data-urlencode phone='$1' --data-urlencode message='$2' -d key=textbelt
  • SMS senden mit sms 7801234567 "Hello World"
  • Vielen Dank, Fabby, dass Sie dies aus der EU getestet haben und bestätigt haben, dass es dort funktioniert.

Senden Sie eine E-Mail mit einer SMS an den Betreiber des Smartphones

Für Folgendes benötigen Sie lediglich einen Webbrowser wie FireFox, Internet Explorer oder Chrome. Sie müssen nicht in den "Darm der Bash" eintauchen oder sich auf einen freien Text pro Tag beschränken.

Bei vielen Anbietern können Sie SMS-Textnachrichten an ein Smartphone senden, indem Sie eine E-Mail an senden phone_number@mobile_provider_name.com.

Telefonnummer nachschlagen, um die Website-Adresse des Betreibers zu erhalten

Die Website-Adresse des Anbieters finden Sie unter der folgenden Telefonnummer: https://freecarrierlookup.com/ . Stellen Sie sich vor, wir haben die Telefonnummer eingegeben 7801234567:

Fee Carrier Lookup.png

Es wird uns mitgeteilt, welche E-Mail-Adresse zu verwenden ist [email protected]. Senden Sie nun eine E-Mail an diese Adresse, und Ihr Telefon wird benachrichtigt.

Wenn Sie Ihr Smartphone so konfiguriert haben, dass bei Eingang der E-Mail eine Benachrichtigung ertönt, können Sie Ihr Telefon ganz einfach per E-Mail versenden.

CLI-Schnittstelle zum Senden der E-Mail-Adresse

In Ask Ubuntu gibt es viele Fragen und Antworten zum Versenden von E-Mails mit bash. Ich verwende ssmtp(Secure Simple Mail Transport Protocol) für meine crontäglichen Sicherungen: Linux-Konfiguration, -Skripte und -Dokumente in Google Mail sichern

Obwohl dieses Setup für einen Benutzer bestimmt ist, können Sie eine Datei mit mehreren Benutzern erstellen, um Kurzmitteilungen an folgende Adresse zu senden:

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

Dann in Ihrem Bash-Code so etwas :

ssmtp 5551234567@att.com < mail.txt

Wo mail.txtsieht das so aus:

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>

Es gibt viele Möglichkeiten, E-Mails aus Bash zu senden. Dies ist nur ein Beispiel. Wichtig ist, dass die E-Mail-Adresse die Smartphone-Nummer enthält, gefolgt von der Web-Adresse des Smartphone-Anbieters

WinEunuuchs2Unix
quelle
16
Es gibt auch E-Mail-Adressen, an die Sie senden können, damit die Telefongesellschaft sie als Text an Ihr Telefon weiterleitet.
Kevin
1
Skype kann eine SMS oder einen normalen Sprachanruf senden (wodurch das Telefon längere Zeit Geräusche macht). Es kostet Geld, aber nicht zu viel. Vielleicht berechnen sie keine Gebühren für einen Anruf, wenn Sie nicht antworten (nachdem Sie das Telefon gefunden haben) ;-)
sudodus
2
Senden von TEXT per E-Mail funktioniert. Sie müssen jedoch den Netzbetreiber kennen, den Ihr SMS-Empfänger verwendet. Derzeit können Sie über freecarrierlookup.com festlegen, dass Sie auch eine E-Mail-Adresse zum Senden von SMS- oder MMS-Nachrichten erhalten. Beispiel: [email protected] ... Nachdem Sie die E-Mail-Adresse für das Senden von Text erhalten haben, können Sie die Textnachricht mithilfe einer beliebigen E-Mail-Methode formatieren und senden .
TonyB
2
Ich weiß, dass dies den Rahmen dieser Fragen und Antworten sprengt, aber für das Senden von Warnmeldungen zu Festplatten / RAM oder anderen Fehlern an dedizierte Benutzer würde ich mich nicht auf einen Dienst verlassen, der einmal täglich SMS sendet, sondern stattdessen ein Modem mit einer SIM-Karte anschließen. In Deutschland (Europa?) Ist der CEP CT63 sehr beliebt.
PerlDuck
1
"Die meisten, wenn nicht alle Spediteure" Das sind ziemlich lokalisierte Informationen. Hier (Niederlande) scheint es nicht zu funktionieren.
Mast
22

Diese Antwort gilt nicht für die Befehlszeile, da ich keine Befehlszeilenlösung für Google finde.

Wenn Sie ein Android-Handy haben und die Befehlszeile nicht verwenden möchten, können Sie in einem Webbrowser zu https://www.google.com/android/find wechseln und von dort aus Ihr Handy anrufen, unabhängig von Stummschalten, Vibrieren oder mit einem Bluetooth-Headset verbunden. Auf Ihrem Telefon ist keine zusätzliche Software erforderlich. Dies kann auch so oft durchgeführt werden, wie Sie an einem Tag möchten.

Terrance
quelle
4

Telefonanruf über den Browser mit Google Hangouts

Sie können Ihr Telefon auch dann finden, wenn Sie es anrufen, auch wenn Sie keinen Festnetzanschluss haben.

Voraussetzung: ein Google-Konto

Hinweis: Nur die meisten Anrufe in die USA und nach Kanada sind kostenlos. Die Preise finden Sie unter https://www.google.com/voice/b/0/rates?p=hangout .

  1. Gehen Sie zu hangouts.google.com
  2. Klicken Sie auf die Schaltfläche "Anruf":
    Knopf Screenshot
  3. Klicken Sie auf "Neue Konversation":
    Knopf Screenshot
  4. Trage deine Telefonnummer ein:
    Zahleneingabefeld Screenshot
  5. Klicken Sie auf "Anrufen":
    Screenshot der Ruftaste
Nonny Moose
quelle
Ich sehe $0.00neben der Telefonnummer anrufen. Können Sie die Kosten für die Nutzung dieses Dienstes erläutern?
WinEunuuchs2Unix
Funktioniert in meinem Land nicht ohne Geld auf ihrem Konto.
Sudodus
1
@ WinEunuuchs2Unix Also sorry! Ich habe vergessen, dass Google Hangouts Gebühren für Anrufe außerhalb der USA und Kanadas erhebt. Ich habe meine Antwort entsprechend aktualisiert.
Nonny Moose
@NonnyMoose Danke für das Update. Ich habe Ihre Antwort bereits vor meinem Kommentar positiv bewertet.
WinEunuuchs2Unix
1

So habe ich es vor Jahren gemacht, um Spaß mit Python zu haben und die Sprache zu lernen.

Was ich getan habe war:

  • Schreiben Sie einen Python-Code, der das SMTP-Modul verwendet
  • Testen Sie es mit Google Mail
  • Finden Sie die E-Mail-Adresse heraus, die meiner Telefonnummer entspricht. (Überprüfen Sie die E-Mail-Adressen der drei großen Netzbetreiber auf Text-APIs. Eigentlich handelt es sich nur um eine E-Mail-Domäne, in der der Benutzer die Telefonnummer ist.)
  • Erstellen Sie ein Befehlszeilenprogramm
  • teste mit meiner telefonnummer

Und VOILA! SMS von Bash.

PS von einem schwer zu bedienenden mobilen Gerät geschrieben ... Wenn dies mehr Beachtung findet, könnte ich nach dem alten Code suchen

Trevor Boyd Smith
quelle
4
Ich denke, dass Python hier nicht erforderlich ist. Verwenden Sie Unix-Mail-Utils, um Nachrichten zu senden.
val
1
Ich denke, dies ist eher ein Überblick über eine Antwort und die wichtigen Schritte / Befehle, die befolgt werden müssen.
WinEunuuchs2Unix
1
@val mit mailanstelle von Python-Code mit SMTP zu schreiben klingt wie Sie ein wenig einfacher und schneller Lösung erhalten könnten. Machen Sie einfach ein einfaches Bash-Shell-Skript, das kürzer als die Zeilen von Donnerstag ist.
Trevor Boyd Smith
1
Dieser Antwort fehlt es an Substanz. "Wie kann ich mir eine SMS über Bash senden?"
vol7ron
Haben Sie am unteren Rand bemerkt "Ps geschrieben von einem schwer zu bedienenden mobilen Gerät". ||| Die Schritte neu zu erstellen ist nicht zu schwierig. Sie senden lediglich eine E-Mail über die Befehlszeile. Der mailBefehl wäre wahrscheinlich schneller als Python-Code.
Trevor Boyd Smith