Надіслати SMS-повідомлення з командного рядка

Anonim

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

Так, curl, той самий інструмент командного рядка для передачі даних до та з URL-адрес, завантаження файлів, отримання деталей заголовків HTTP і багато іншого, може надсилати текстові повідомлення.Це робиться за допомогою запиту POST, надісланого до служби TextBelt, безкоштовного API для вихідних SMS. Звісно, ​​є обмеження, але вони досить щедрі – 75 повідомлень на день (на IP-адресу), і ви не можете надіслати більше 3 повідомлень за три хвилини, щоб запобігти зловживанням. Окрім цього, майте на увазі, що з вас буде стягнуто плату за вхідні текстові повідомлення за звичайним тарифом SMS/текстових повідомлень від вашого постачальника мобільного зв’язку – це не використовує службу iMessage – тому не зловживайте цим, якщо у вас немає безлімітного традиційний план текстових повідомлень.

Надсилання текстового повідомлення з командного рядка за допомогою curl

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

"

curl http://textbelt.com/text -d number=-d message=text goes here "

Наприклад, щоб надіслати текст «привіт від 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 your message goes here», щоб надіслати текст собі. Це також дає змогу розважатися та використовувати подвійні амперсанди &&, наприклад, надсилати собі 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-повідомлення з командного рядка