Как я могу отправить мобильное текстовое сообщение с терминала?


51

Я только что потерял свой телефон. Я знаю, что он здесь, в моем доме, потому что я использовал его вчера вечером, и мои динамики Bluetooth подключатся к нему сегодня утром.

Как я могу написать свой телефон, используя Bash? Затем прозвучит уведомление телефона, и я смогу найти свой телефон.

Примечание. Я попросил решение для bash, потому что оно проще, чем установка и настройка графического интерфейса. Кроме того, мне удобнее работать в bash, чем в python, HTML или java и т. Д. Наконец, решение bash работает в Windows 10, когда вы используете подсистему Windows для Linux ( WSL ).

Примечание 2: Ответ на комментарии:

  • У меня нет стационарного телефона, поэтому я не могу просто позвонить своему смартфону.
  • Было 6 часов утра в воскресенье, когда я потерял свой телефон. Люди, которым я мог написать по электронной почте, чтобы позвонить, спали Я не был уверен в уровне заряда батареи и, если он умер, я бы никогда не смог написать об этом.
  • Несколько недель назад я отключил звуковые уведомления по электронной почте на своем смартфоне, чтобы я не мог написать себе по электронной почте.
  • У меня нет skypeили каких-либо поставщиков услуг VOIP

Через 30 минут я нашел смартфон, отправив ему сообщение, используя ответ, который я разместил ниже. Она была спрятана под 4-дюймовой мебельной полкой в ​​гостиной.


1
Если я правильно прочитал, вы запрашиваете эквивалент услуги «Найти мой телефон», которая будет звонить на ваш телефон независимо от громкости, режима вибрации, Bluetooth-наушников и т. Д., Которые делают телефон бесшумным. Я знаю, что у Google есть тот, который вы можете сделать для Android, но я не знаю о его форме в командной строке. Если я могу понять это, это неограниченно для использования. То же самое для Apple.
Терренс

3
На Android нет программного обеспечения для установки. Вы просто заходите на google.com/android/find
Terrance

3
"Хорошо, Google!" слушание усиливается ....
Майкл Франк

Ответы:


45

SMS-сообщения с терминала / Shell / Bash

Для следующих шагов откройте окно терминала, также известное как «Интерфейс командной строки» или «CLI». В большинстве дистрибутивов Linux это делается с помощью Ctrl+ Alt+T

textbelt.com отправить текст из Bash

Я нашел статью Reddit: Отправьте текстовое SMS-сообщение из командной строки с помощью этой команды Bash / Terminal, которую вы можете использовать:

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

Замените 7801234567на свой номер телефона. Если вы пишете международный номер (за пределами Канады / США), следуйте этим инструкциям .

Примечание: программное обеспечение заменяет «Найди свой телефон!» с сообщением, что вам нужно приобрести ключ, чтобы использовать пользовательское сообщение. Но программное обеспечение по-прежнему настаивает на том, что вы должны предоставить сообщение, которое будет перезаписано.


Другие причины для отправки смс текстового сообщения от Bash

Для нахождения моего смартфона была необычная необходимость отправить смс-сообщение от Bash. У вас может быть несколько человек, которым следует написать, когда:

  • Диски могут выйти из строя (или произошли другие аппаратные ошибки)
  • Использование дискового пространства превышает пороговое значение, например, на 90%
  • Оперативная память заполнена, и swap интенсивно используется
  • Веб-сервер испытывает внешние атаки
  • У пользователя слишком много неверных регистраций, и аккаунт деактивирован.
  • Было выполнено определенное задание, которое влияет на ключевые процессы
  • Дверной считыватель следит за разблокировкой определенной двери

textbelt.com Бесплатно для одного текста в день

Отправителем может быть отправлено только одно бесплатное SMS-сообщение в день. Вот пример первой и второй попытки в один день:

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

Примечание. Возможно, вы можете сбросить IP-адрес своего маршрутизатора для более чем одного текста в день, но я еще не проверял это.

Вы можете использовать предоплаченные неограниченные тексты. Есть много услуг SMS-шлюза. Цена на ссылку выше поставщика варьируется от $ 0,03 до $ 0,15 за текст. Это для справки, а не для одобрения или рекомендации. Пожалуйста, сделайте свою домашнюю работу и найдите уважаемых продавцов с платой за услуги по лучшим ценам.


Создать Bash Script

Вы можете создать скрипт bash, smsсодержащий:

#!/bin/bash
curl -X POST https://textbelt.com/text --data-urlencode phone='$1' --data-urlencode message='$2' -d key=textbelt
  • Отправить смс с помощью sms 7801234567 "Hello World"
  • Спасибо, Фабби, за то, что проверили это в ЕС и подтвердили, что оно работает там

Отправить электронное письмо на носитель смартфона с текстовым сообщением SMS

Для всего, что вам нужно, это веб-браузер, такой как FireFox, Internet Explorer или Chrome. Не нужно погружаться в «недра» или ограничивать себя одним свободным текстом в день.

Многие операторы позволяют отправлять текстовые сообщения SMS на смартфон, отправляя электронное письмо на адрес phone_number@mobile_provider_name.com.

Номер телефона, чтобы найти адрес сайта перевозчика

Чтобы узнать адрес веб-сайта провайдера по номеру телефона, перейдите по ссылке : https://freecarrierlookup.com/ . Представьте, что мы ввели номер телефона 7801234567:

Fee Carrier Lookup.png

Нам говорят, что адрес электронной почты для использования 7801234567@pcs.rogers.com. Теперь отправьте электронное письмо на этот адрес, и ваш телефон будет звучать с уведомлением.

Конечно, если ваш смартфон настроен на получение уведомлений при получении электронной почты, вы можете просто отправить электронное письмо на телефон в первую очередь!

Интерфейс CLI для отправки адреса электронной почты

В Ask Ubuntu есть много вопросов и ответов о том, как отправлять электронную почту, используя bash. Я использую ssmtp(Secure Simple Mail Transport Protocol) для своих cronежедневных резервных копий: резервное копирование конфигурации Linux, сценариев и документов в Gmail

Хотя эта настройка предназначена для одного пользователя, вы можете создать файл с несколькими пользователями для текстовых сообщений:

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

Тогда в вашем bash-коде что-то вроде этого :

ssmtp 5551234567@att.com < mail.txt

Где это mail.txtвыглядит так:

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>

Существует много способов отправки электронной почты из bash. Это только один пример. Важно, что адрес электронной почты содержит номер смартфона, за которым следует веб-адрес поставщика смартфона.


16
Существуют также адреса электронной почты, которые вы можете отправить на телефонную компанию в виде текста.
Кевин

1
Skype может отправить SMS или обычный голосовой звонок (что заставит телефон издавать звуки дольше). Это стоит денег, но не слишком много. Может быть, они не будут взимать плату за телефонный звонок, если вы не ответите (после нахождения телефона) ;-)
sudodus

2
Отправка текста по электронной почте работает. Тем не менее, вам необходимо знать носителя, который использует получатель вашего текстового сообщения. В настоящее время вы можете определить, что с помощью freecarrierlookup.com вы также получите адрес электронной почты, который будет использоваться для отправки SMS или MMS-сообщения. то есть: 8771234567@txt.att.net ... после получения адреса электронной почты для отправки текста, затем используйте любую методологию электронной почты, которая вам нравится, от почты командной строки, до Gmail, Thunderbird и т. д., чтобы отформатировать текстовое сообщение и отправить его ,
TonyB

2
Я знаю, что это выходит за рамки этого Q & A, но для отправки оповещений о заполненных дисках / ОЗУ или любых других сбоях выделенным пользователям я бы не стал полагаться на службу, которая отправляет SMS один раз в день, а вместо этого подключал бы модем с SIM-картой. В Германии (Европе?) CEP CT63 довольно популярен.
PerlDuck

1
«Большинство, если не все перевозчики». Это довольно локализованная информация. Здесь, в Нидерландах, это не работает.
Мачта

22

Этот ответ не для командной строки, так как я не могу найти решение командной строки для Google.

Если у вас есть телефон Android и вы не хотите использовать командную строку, вы можете перейти по адресу https://www.google.com/android/find в веб-браузере и позвонить на ваш телефон оттуда независимо от отключения звука, вибрации или подключаться к гарнитуре Bluetooth. На вашем телефоне также не требуется дополнительное программное обеспечение. Это также может быть сделано столько раз, сколько вы хотите в день.


4

Телефонный звонок из браузера, используя Google Hangouts

Вы также можете найти свой телефон, позвонив по нему, даже если у вас нет стационарного телефона.

Условие: учетная запись Google

Примечание: только большинство звонков в США и Канаду бесплатны. См. Https://www.google.com/voice/b/0/rates?p=hangout, чтобы узнать цены.

  1. Перейдите на Hangouts.google.com.
  2. Нажмите кнопку «Телефонный звонок»:
    скриншот кнопки
  3. Нажмите «Новый разговор»:
    скриншот кнопки
  4. Введите свой номер телефона:
    скриншот окна ввода номера
  5. Нажмите «Позвонить»:
    скриншот кнопки вызова

Я вижу $0.00рядом с номером телефона, чтобы позвонить. Можете ли вы уточнить стоимость использования этой услуги?
WinEunuuchs2Unix

Не работает в моей стране без денег на их счет.
Судодус

1
@ WinEunuuchs2Unix Очень жаль! Я забыл, что Google Hangouts взимает плату за звонки за пределами США и Канады. Я обновил свой ответ соответственно.
Нонни Мус

@NonnyMoose Спасибо за обновление. Я уже проголосовал за ваш ответ до моего комментария.
WinEunuuchs2Unix

1

Я сделал это много лет назад, чтобы повеселиться с python и выучить язык.

То, что я сделал, было:

  • Напишите некоторый код на Python, который использует модуль smtp
  • Проверьте это с Gmail
  • Определите адрес электронной почты, который сопоставляется с моим номером телефона (посмотрел электронную почту трех крупных операторов связи в текстовые API-интерфейсы (на самом деле это всего лишь почтовый домен, где пользователь является номером телефона))
  • создать инструмент командной строки
  • проверить с моим номером телефона

И ВОЙЛА! текстовые сообщения от Баш.

PS написано с трудно используемым мобильным устройством ... Если это привлекает больше внимания, я мог бы поискать старый код


4
Я думаю, что Python здесь не требуется, используйте Unix Mail Utils для отправки сообщения.
Валь

1
Я думаю, что это скорее общий обзор ответа и важные шаги / команды, которые необходимо выполнить.
WinEunuuchs2Unix

1
Использование @val mailвместо написания кода на python с smtp звучит так, как будто вы можете найти более простое и быстрое решение. Просто сделайте простой скрипт оболочки bash, который будет меньше строк четверга.
Тревор Бойд Смит

1
Этому ответу недостает содержания. «Как я могу написать себе через bash» - «Я сделал это, используя python и gmail, на свой телефон с помощью smtp» ... это звучит как продуктивный или удовлетворительный ответ для вас?
Vol7ron

Вы заметили внизу "Ps написано с трудно используемым мобильным устройством". ||| Воссоздать шаги не так уж сложно. Вы просто отправляете электронное письмо из командной строки. Возможно, mailкоманда будет быстрее, чем код Python.
Тревор Бойд Смит
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.