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


57

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

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

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

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


+1、私は12のワンウェイSMS APIプロバイダーを知っていますが、返信を受信した場合にポストバックするものはありません。
ティムポスト

この質問に対する答えを改善することを期待して、この質問に報奨金を追加しました。
artlung

jessegavin、もしあなたがベストアンサーを選ぶ気がするなら、遠慮なく-賞金は明日で終わる!
-artlung

回答:


25

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

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

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

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

幸運を祈ります!

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


CLickATellも使用していますが、そのサービスに満足しています。
アレックス

Plivoの有料サービスをご紹介します。とても良いです。Twilioを使用していましたが、これも優れていますが、コストが高くなります。
フランク

15

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

T-Mobileの:PHONENUMBER @ tmomail.net
ヴァージン・モバイル:PHONENUMBER @ vmobl.com
シンギュラー:PHONENUMBER @ cingularme.com
AT&T:phonenumber@txt.att.net
スプリント:PHONENUMBER @ messaging.sprintpcs.com
ベライゾン:PHONENUMBER @ vtext.com
ネクステル:電話番号 @ messaging.nextel.com

どこPHONENUMBERはあなたの10桁の電話番号を=


1
これをテストしたところ、キャリア(AT&T)がFROM:[Sender Name]、SUBJ:[Subject Line]、MSG:[Message Contents]をテキストメッセージの先頭に追加しました。-つまり、このメソッドで使い果たされる(少なくとも)21文字です。(少なくとも私にとっては)これは、ほとんどの一般向けWebアプリケーションでは受け入れられないと考えています。
ジェセガビン

3
@artlung en.wikipedia.org/wiki/List_of_carriers_providing_SMS_transitisは非常に包括的なリストです。
ヤヘル

7
あなたはen.wikipedia.org/wiki/List_of_SMS_gatewaysを意味しますが、ありがとう!
artlung

2
私の国(アルゼンチン)では、あなたは、SMSを支払わなければならない(あなたの顧客は好きではない場合があります)、電子メールを介して受信
エドゥアルドMolteni

1
キャリアが誰であるかをどのように判断しますか
アダム

9

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


あなたは彼らのAPIを使用していますか?どのように使用していますか?
artlung

1
私は彼らの音声APIを使用して、PHPスクリプトを介して呼び出しを行います。私はそれを使用して電話をかけ、音声からテキストへの変換を行い、ユーザーからの応答を受け入れています。
ダリル・ヘイン


4

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

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

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



2

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

基本的に、着信メッセージを解析して、それらにCANCELやSTOPなどのキーワードが含まれているかどうかを確認し、それに応じてメッセージを処理する必要がありました。残念ながら、あなたはたくさんのゴミメッセージを受け取ります-あなたが何人が間違った番号にSMSメッセージを送信するか驚かれることでしょう-あなたは「メッセージが理解できません」などと返事しなければなりません。


2

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


1

別のオプションは、次のように、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 = "$to@vtext.com";
} elseif ($carrier == "2") {
    $email = "$to@message.alltel.com";
} elseif ($carrier == "3") {
    $email = "$to@myboostmobile.com";
} elseif ($carrier == "4") {
    $email = "$to@cingularme.com";
} elseif ($carrier == "5") {
    $email = "$to@messaging.nextel.com";
} elseif ($carrier == "6") {
    $email = "$to@messaging.sprintpcs.com";
} elseif ($carrier == "7") {
    $email = "$to@tmomail.net";
} elseif ($carrier == "8") {
    $email = "$to@vmobl.com";
} elseif ($carrier == "9") {
    $email = "$to@txt.att.net";
}

メールを送信します:($ 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に有効なメール設定があることを確認してください。ご質問がある場合は、お問い合わせください。



0

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

付きのHTTP SMS API 。

ASP / ASP.NET開発者向けのSMS APIおよびPHP開発者向けのSMS SMSページのセットアップ方法の例は、有用な情報を提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.