Отправить текстовое SMS-сообщение из командной строки

Anonim

Когда вы думаете об отправке текстовых сообщений, вы, вероятно, думаете об iPhone или Android, и командная строка не приходит вам на ум, но благодаря всегда полезной команде curl вы можете отправить текстовое SMS-сообщение на любой телефон. номер прямо из Терминала.

Да, curl, тот же инструмент командной строки для передачи данных в URL-адреса и обратно, загрузки файлов, получения сведений о заголовке HTTP и многого другого, может отправлять текстовые сообщения.Это делается с помощью запроса POST, отправляемого в службу TextBelt, бесплатный исходящий SMS API. Конечно, есть ограничения, но они довольно велики: 75 сообщений в день (с одного IP-адреса), и вы не можете отправлять более 3 сообщений за три минуты, чтобы предотвратить злоупотребления. Кроме того, имейте в виду, что с вас будет взиматься плата за входящие тексты по обычному тарифу на SMS / текстовые сообщения от вашего сотового оператора — при этом не используется служба iMessage — поэтому не злоупотребляйте этим, если у вас нет неограниченного традиционный план обмена текстовыми сообщениями.

Отправка текстового сообщения из командной строки с помощью curl

Основной синтаксис для использования следующий: обязательно заменитесвоим собственным 10-значным номером телефона (10 цифр=код города + номер телефона), а затем замените сообщение=текст своим сообщением для отправки:

"

curl http://textbelt.com/text -d number=-d message=text идет сюда "

Например, чтобы отправить текстовое сообщение «привет от OSXDaily.com» на номер телефона 555-155-1555 (ненастоящий номер), вы должны использовать следующую командную строку:

"

curl http://textbelt.com/text -d number=5551551555 -d message=hello from OSXDaily.com "

Да, вы также можете указать номер телефона другого человека, но вам, вероятно, не следует делать это без его разрешения.

Если текст был успешно отправлен, командная строка вернет сообщение о том, что '{“success”:true}', если по какой-либо причине это не удалось, оно будет выглядеть примерно так, как показано ниже. обычно указывает на ошибку в синтаксисе вашей команды: '{"success":false, »message": «Требуются числовые параметры и параметры сообщения».} curl: (6) Не удалось разрешить хост:' Просто просмотрите командную строку и Попробуйте еще раз.

Текстовое сообщение должно поступить на ваш iPhone или Android очень быстро, хотя целесообразность службы, вероятно, зависит от очереди и активности, которую TextBelt получает из других источников. Это будет выглядеть примерно так:

(Если вам интересно, ответы на тексты никуда не идут и ничего не делают, это не двусторонняя услуга)

Это работает для отправки текстов из Mac OS X, Linux и, предположительно, из любой другой ОС или службы, имеющей доступ к curl. Сторона-получатель должна работать с любым мобильным телефоном, принимающим SMS, будь то iPhone или древняя кирпичная Nokia.

Добавление быстрой команды «Отправить текст» в Bash

Если вам удобно отправлять себе тексты с терминала и вы планируете часто использовать это, вы можете создать простой сценарий bash для сокращения командной строки, добавив следующее в ваш .bash_profile. Обязательно замените номер своим 10-значным номером телефона:

"

sendtext () { curl http://textbelt.com/text -d number=5551113333 -d message=$1;эхо-сообщение отправлено; }"

С этим в вашем bash_profile вы можете просто ввести «sendtext ваше сообщение идет сюда», чтобы отправить текст самому себе. Это также позволяет немного развлечься и использовать двойные амперсанды &&, например, отправлять себе SMS-оповещения о завершении установки пакета программного обеспечения или о завершении загрузки удаленного файла. Те, у кого есть опыт работы с командной строкой, вероятно, могут придумать миллион и еще одно удобное применение для этого.

По данным TextBelt, сервис точно работает в США со следующими сотовыми сетями: Alltel, Ameritech, AT&T Wireless, Boost, CellularOne, Cingular, Sprint PCS, Telus Mobility, T-Mobile, Metro PCS. , Nextel, O2, Orange, Qwest, Rogers Wireless, US Cellular, Verizon, Virgin Mobile. Это может быть ограничено США, но мы не можем тестировать сети за пределами региона, дайте нам знать, если вы попробуете это в другом месте.

Отправить текстовое SMS-сообщение из командной строки