Airpods

コマンドラインからSMSテキストメッセージを送信する

コマンドラインからSMSテキストメッセージを送信する

コマンドラインからテキストメッセージを送信するテキスト メッセージを送信すると考えると、おそらく iPhone または Android を思い浮かべるでしょう。コマンド ラインは思い浮かばないでしょう。しかし、常に便利な curl コマンドのおかげで、ターミナルから任意の電話番号に SMS テキスト メッセージを送信できます。

はい、URL間のデータ転送、ファイルのダウンロード、HTTPヘッダー情報の取得など、様々な用途に使えるコマンドラインツールであるcurlは、テキストメッセージの送信も可能です。これは、無料のSMS送信APIであるTextBeltサービスへのPOSTリクエストを通じて行われます。もちろん制限はありますが、1日あたり75通(IPアドレスあたり)とかなり寛大です。また、不正使用を防ぐため、3分間に3通以上送信することはできません。加えて、受信テキストメッセージには、携帯電話会社の通常のSMS /テキストメッセージ料金が課金されることにご注意ください。これはiMessageサービスを使用しませんので、従来の無制限テキストメッセージプランに加入していない場合は、使いすぎないようにしましょう。

curl を使ってコマンドラインからテキストメッセージを送信する

使用する基本的な構文は次のとおりです。########## を必ず自分の 10 桁の電話番号 (10 桁 = 市外局番 + 電話番号) に置き換え、message= テキストを自分の送信メッセージに置き換えてください。

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

たとえば、「hello from 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が他の端末から受信するアクティビティの量によって左右される可能性があります。メッセージは以下のような形式で届きます。

TextBelt コマンドラインサービスから送信された iPhone 上の SMS テキスト

(もし疑問に思っているなら、テキストに返信しても何も起こらず、双方向のサービスではないので何も起こりません)

この方法は、Mac OS X、Linux、そしておそらくcurlにアクセスできる他のOSやサービスからテキストを送信する際に機能します。受信側は、iPhoneでも古びたNokiaでも、SMSに対応しているあらゆる携帯電話で動作するはずです。

Bashに「テキスト送信」コマンドを追加する

ターミナルから自分自身にテキストメッセージを送信する便利さを気に入っていて、頻繁に使用する予定がある場合は、.bash_profile に以下のコマンドを追加することで、コマンド文字列を短縮する簡単なbashスクリプトを作成できます。数字は10桁の電話番号に置き換えてください。

sendtext () { curl http://textbelt.com/text -d number=5551113333 -d "message=$1";echo message sent; }

これを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。米国限定のサービスである可能性がありますが、米国以外の地域ではテストできていません。他の地域でお試しいただいた場合はお知らせください。