SMS-y z terminala / powłoki / bash
W celu wykonania poniższych kroków otwórz wiersz polecenia, zwany także „interfejsem wiersza poleceń” lub „CLI”. W większości dystrybucji Linuksa rób to za pomocą Ctrl+ Alt+T
textbelt.com
wysłać tekst z bash
Znalazłem artykuł reddit: Wyślij SMS-a z wiersza poleceń za pomocą tego polecenia Bash / Terminal, którego możesz użyć:
curl -X POST https://textbelt.com/text \
--data-urlencode phone='7801234567' \
--data-urlencode message='Find Your Phone!' \
-d key=textbelt
Zastąp 7801234567
swój numer telefonu. Jeśli wysyłasz międzynarodowy numer telefonu (poza Kanadą / USA), postępuj zgodnie z tymi instrukcjami .
Uwaga: Oprogramowanie zastępuje „Znajdź swój telefon!” z komunikatem, że musisz kupić klucz, aby użyć niestandardowej wiadomości. Ale oprogramowanie nadal nalega, abyś przesłał wiadomość, która zostanie zastąpiona.
Inne powody wysłania SMS-a z Bash
Znalezienie mojego smartfona było niezwykłą potrzebą wysłania SMS-a z Bash. Możesz mieć kilka osób, które powinny zostać wysłane SMS-em, gdy:
- Dyski wkrótce ulegną awarii (lub wystąpiły inne błędy sprzętowe)
- Wykorzystanie miejsca na dysku przekracza próg, na przykład 90%
- Pamięć RAM jest pełna, a swap jest intensywnie wykorzystywany
- Serwer WWW doświadcza ataków zewnętrznych
- Użytkownik miał zbyt wiele nieprawidłowych rejestracji, a konto zostało dezaktywowane
- Uruchomiono określone zadanie, które wpływa na kluczowe procesy
- Czytnik kart drzwi monitoruje odblokowanie niektórych drzwi
textbelt.com
jest bezpłatny dla jednego tekstu dziennie
Nadawca może wysłać tylko jedną bezpłatną wiadomość SMS dziennie. Oto przykład pierwszej i drugiej próby jednego dnia:
$ 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}
Uwaga: być może możesz zresetować adres IP routera dla więcej niż jednego tekstu dziennie, ale jeszcze tego nie przetestowałem.
Możesz korzystać z przedpłaconych nieograniczonej liczby tekstów. Dostępnych jest wiele usług bramek SMS. Ceny w powyższym linku dostawcy wynoszą od 0,03 USD do 0,15 USD za tekst. To jest w celach informacyjnych, a nie poparcia ani rekomendacji. Odrabiaj pracę domową i szukaj renomowanych dostawców usług płatnych po najlepszych cenach.
Utwórz skrypt Bash
Możesz utworzyć skrypt bash o nazwie sms
:
#!/bin/bash
curl -X POST https://textbelt.com/text --data-urlencode phone='$1' --data-urlencode message='$2' -d key=textbelt
- Wyślij wiadomość SMS za pomocą
sms 7801234567 "Hello World"
- Dziękujemy Fabby za przetestowanie tego z UE i potwierdzenie, że tam działa.
Wyślij e-mail do operatora smartfona za pomocą wiadomości SMS
Do następujących czynności wystarczy przeglądarka internetowa, taka jak FireFox, Internet Explorer lub Chrome. Nie musisz nurkować w „wnętrznościach bashu” ani ograniczać się do jednego wolnego tekstu dziennie.
Wielu operatorów pozwala wysyłać SMS-y na smartfony, adresując je na adres e-mail phone_number@mobile_provider_name.com
.
Numer telefonu wyszukaj, aby uzyskać adres strony internetowej operatora
Aby uzyskać adres strony internetowej dostawcy za pomocą numeru telefonu, przejdź do: https://freecarrierlookup.com/ . Wyobraź sobie, że wprowadziliśmy numer telefonu 7801234567
:
Powiedziano nam, że jest to adres e-mail 7801234567@pcs.rogers.com
. Teraz wyślij wiadomość e-mail na ten adres, a telefon wyemituje powiadomienie.
Oczywiście, jeśli masz skonfigurowany smartfon, aby brzmiał z powiadomieniem o nadejściu wiadomości e-mail, możesz po prostu wysłać swój telefon e-mailem!
Interfejs CLI do wysyłania adresu e-mail
W Ask Ubuntu jest wiele pytań i odpowiedzi na temat wysyłania wiadomości e-mail za pomocą bash. Używam ssmtp
(Secure Simple Mail Transport Protocol) do cron
codziennych kopii zapasowych: kopii zapasowej konfiguracji Linuksa, skryptów i dokumentów do Gmaila
Chociaż ta konfiguracja jest przeznaczona dla jednego użytkownika, możesz utworzyć plik z wieloma użytkownikami w celu wysyłania wiadomości tekstowych, aby:
Name Email Address
Tiny Tim 5551234567@att.com
Mrs. Clause 5552223333@sprint.com
Bad Elf 5551114444@telus.net
Następnie w swoim kodzie bash coś takiego :
ssmtp 5551234567@att.com < mail.txt
Gdzie mail.txt
wygląda tak:
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>
Istnieje wiele sposobów wysyłania wiadomości e-mail z bash. To tylko przykład. Ważne jest, aby adres e-mail zawierał numer smartfona, a następnie adres internetowy dostawcy smartfona