web-dev-qa-db-ja.com

ウェブサイトにSMSテキストメッセージング機能を追加する方法

私が作成しているWebアプリケーションでサインアップした特定のイベントについて、電子メールおよびSMSでリマインダーを送信する機能を追加したいと思います。電子メールの部分は難しくありませんが、SMSメッセージを送信するための適切な解決策はどこにあるのでしょうか。

また、このソリューションでWebアプリケーションとの双方向SMS通信が可能になり、人々がCONFIRMまたはCANCELタイプのメッセージで返信できるようになる場合もプラスになります。

誰かがこのようなものを実装していますか?誰かが良いツールを知っていますか?

編集:私はこれが「この猫の皮をむく方法がたくさんある」タイプの質問であることを認識しているので、コミュニティwikiに変更しました。

57
jessegavin

最初に推奨したサービスが廃業したため、この回答を数回編集する必要がありました。新しい業界のリーダーはTwilioであり、優れたAPIと手頃な価格を持っていると思います。考慮に値するいくつかの選択肢は TropoPlivo 、および Nexmo .

私はIMifiedを少しの間使用して、それに類似したことを行い、うまく機能することがわかりました。これにより、HTTP POSTとしてSMS(またはTwitterおよびIMメッセージ)を受信し、Webサーバーの応答が返信として送信されます。また、 会話の開始とメッセージの送信 に使用できるWebサービスも提供します。

他のオプションを探していたとき、私は出会いましたZeep Mobile(注:Zeep Mobileは、 8/1/2013)SMSを送受信するためのAPIがあります。無料で広告がサポートされているか、月額料金で利用できます。試したことはありませんが、とても面白いようです。

ClickATellのようなSMSゲート​​ウェイを使用することもできます。

幸運を祈ります!

編集: より多くの提案があるStackOverflowに関する質問を見つけました、いくつかは時代遅れかもしれません。

25
Adam

メールでこれを実装することができた友人がいました。彼はそれをまったく同じ方法で行ったと思う このサイトが推奨する

T-Mobile:phonenumber@tmomail.net
Virgin Mobile:phonenumber@vmobl.com
Cingular:phonenumber@cingularme.com
AT&T:[email protected]
スプリント:phonenumber@messaging.sprintpcs.com
Verizon:phonenumber@vtext.com
Nextel:phonenumber@messaging.nextel.com

ここで、phonenumber= 10桁の電話番号

15
Mike

Twiliovoice に使用してきましたが、非常に感銘を受けました。彼らの SMS システムはそれほど違いはないと確信しています。これにより、送信先の電子メールアドレスを知らなくても、どのキャリアにも送信できます(時間が経つにつれて変化することに気づきました)。

9
Darryl Hein

これは送信専用ですが、私はプロジェクトにPenny SMSを使用し、それで幸運に恵まれました。 Rubyを使用している場合は、 penny_sms_muncher gem を確認してください。

5
Matthew Shanley

過去に検討した他の2つのオプション:

Skype API
新しいSkype APIを使用してSMSを送受信します。 Twilioはもっと安いと思いますが、Skypeはより多くの国で利用できます(SMSを受信したい場合)

サーバーに電話を差し込む
SMSゲート​​ウェイ会社が多額に請求する国(アルゼンチンなど)に住んでいる場合、電話を購入してサーバーに接続する方が安くなる場合があります(ホスティング環境によって異なります) 、 もちろん)。次に、 SMSToolkit のようなソフトウェアを使用して、電話と対話できます。

4
Eduardo Molteni

http://www.world-text.com/ によって提供される双方向APIを調べることをお勧めします。

3
AronHopkins

手頃なバルクSMSプロバイダーが必要な場合、開発者APIでwww.SourceSMS.comを使用できます。国際的なカバレッジを提供し、ダウンロードしてWebサイトに統合できるスクリプトがあります。

2
Liam Harris

SMSプロバイダーとしてVidicom UKを使用するSMSシステムのような2つの方法を作成しました(まだ行っているかどうかはわかりません)。基本的に、SMSメッセージを送受信できるHTTPベースのAPIがあります。詳細を説明するのは複雑すぎますが、本質的に2つのデータベーステーブルがあり、1つはゲートウェイから受信した受信メッセージ用、もう1つはキューに入れられてゲートウェイに送信される送信メッセージ用です。

基本的には、着信メッセージを解析してCANCELやSTOPなどのキーワードが含まれているかどうかを確認し、それに応じてメッセージを処理する必要がありました。残念ながら、大量のゴミメッセージが表示されます-SMSメッセージを間違った番号に送信する人が多いことに驚かれることでしょう。

2
Dan Diplo

別のオプションは、次のように、PHPのメール機能とキャリアのメールサーバーのリストを使用することです。

PHPファイルにHTMLフォームを作成し、

<select name="carrier" style="width: 130px" >
<option selected="" value="1">Verizon Wireless</option>
<option value="2">Alltel</option>
<option value="3">Boost Mobile</option>
<option value="4">Cingular</option>
<option value="5">Nextel</option>
<option value="6">Sprint</option>
<option value="7">T-Mobile</option>
<option value="8">Virgin Mobile</option>
<option value="9">AT&T</option>
</select>

次に、メールの送信先を設定します。

if ($carrier == "1") {
    $email = "[email protected]";
} elseif ($carrier == "2") {
    $email = "[email protected]";
} elseif ($carrier == "3") {
    $email = "[email protected]";
} elseif ($carrier == "4") {
    $email = "[email protected]";
} elseif ($carrier == "5") {
    $email = "[email protected]";
} elseif ($carrier == "6") {
    $email = "[email protected]";
} elseif ($carrier == "7") {
    $email = "[email protected]";
} elseif ($carrier == "8") {
    $email = "[email protected]";
} elseif ($carrier == "9") {
    $email = "[email protected]";
}

メールを送信します:($ email、$ subject、$ msg、$ mailfromを定義し、適切な形式にする必要があります。入力のサニタイズも推奨します)

if (mail($email, $subject, $msg, $mailfrom)) {
    echo "<h4>Your Text Was Successfully Sent.</h4>";
    echo "<br />";
    if ($backurl == "") {
        echo "<a href='javascript:history.back(1);'>Back</a>";
    } else {
        echo "<a href='" . $backurl . "'>Back</a>";
    }
    echo "</body></html>";
} else {
    echo "<h4><b>Error Sending Message</b></h4><br>Can't send txt to $to. <br> Contact the site Administrator.";
}

PHPの有効なメール設定がphp.iniにあることを確認してください。ご質問がある場合は、お問い合わせください。

1
ionFish

多くのプロデューサーとサービスプロバイダーがいます。大関SMSゲート​​ウェイを知っています。次のURLは、独自のgsmモデム、SMPP/UCP/CMD、またはその他のプロバイダーを使用した社内ソリューションが必要な場合に役立ちます。決定をするとき、最初の質問:いくつ[SMS] _を送信または受信しますか?

HTTP SMS - のAPI。

ASP/ASP.NET開発者向けSMS APIおよびPHP開発者向けサンプルSMS機能ページのセットアップ方法に関する開発者は、有用な情報を提供できます。

0
Lilio Luami

返信で何かできるかどうかはわかりませんが、Google Voiceでテキスト機能を実装するために作成されたAPIがいくつかあります。

http://code.google.com/p/pygooglevoice/

http://code.google.com/p/google-voice-Java/

0
Nick Painter