PHPスクリプトとSMSを送受信しますか?
-
03-07-2019 - |
質問
PHPスクリプト(MySQL DBで動作可能)何らかのサーバーサイドソリューションを使用して SMSを送信および/または受信できますか?
特別なサーバー側のアプリケーション、または特別なハードウェアが必要ですか? 互換性は? Windows、 Linux?
解決
SMSメッセージを送受信するためのAPIを提供する Esendex のような会社がたくさんあります。ただし、ハードウェアから直接送信するかどうかはわかりませんか?
他のヒント
gsmモデムにusbを取得して、phpまたは他の言語からメッセージを送信するか、携帯電話でJ2EEプログラムを開発して同じことを行うことができます(これはハッカーです)。
それを行うための最も安価な方法は(私の経験では少なかったが)50ドルのMultiTech GSMモジュールを入手し、無制限のテキストでGSMカードをインストールし、シリアルポートを使用して通信を開始することでした。テキストとモジュールは、すべてのプロトコルの接続と内容を作成します...
基本的に、ATコマンドを使用することになります(モデムからモデムに変更されます)が、AT#T /" 555031231"のようなものです。サンプルテキストメッセージ//
もちろん、gsmチップを使用することのマイナス面は、実際にいくつかの電子機器を使用する必要があることです。ハイエンドのgsmモデムを使用する場合、すべて解決済みで、プラグアンドプレイすることができます!
英国にいる場合は、txtlocalが適切なオプションです。彼らはあなたのサイトにすでにサンプルコードを持っています。カール関数を使用して非常に簡単。
SMSを送信するには:
- CURLをサーバーにインストールする必要があります。 (または、php_file_get_contents関数を使用できますが、CURLをお勧めします)
- SMSゲートウェイサーバープロバイダーのSMS API。
CURLを使用してsmsを送信する簡単な関数を次に示します。
function CURLsendsms($number, $message_body){
$api_params = $api_element.'?apikey='.$apikey.'&sender='.$sender.'&to='.$mobileno.'&message='.$textmessage;
$smsGatewayUrl = "http://springedge.com";
$smsgatewaydata = $smsGatewayUrl.$api_params;
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_URL, smsgatewaydata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
// Use file get contents when CURL is not installed on server.
if(!$output){
$output = file_get_contents($smsgatewaydata);
}
}
また、phpクラスを使用してSMSを送信できます http://www.phpclasses.org/package/9522-PHP-Send-SMS-messages-with-Spring-Edge-API.html
上記のクラスには2つのファイルがあります。sendms.php-smsゲートウェイを呼び出すクラスファイルrestAPI test.php-sms機能をテストするためのサンプルファイル。このクラスは、スプリングエッジ SMSゲートウェイプロバイダーAPI
を使用しています。SMSを受信するには:
10桁の仮想携帯電話番号または短いコード番号の仮想番号を購入する必要があります。
パラメーターをクエリ文字列として使用するHTTP URLで仮想番号を構成できます
例example.com/receivesms.php?from=%number%&smstext=%text%
仮想番号で受信したすべてのメッセージは設定されたURLにトリガーされるため、要件に従ってスクリプトでさらに処理することができます(例:DBへの返信の保存または応答としてのテキストメッセージの送信)。
仮想携帯電話番号(2方向のSMS番号)は、どのSMSサービスプロバイダーでも構成できます