Отправлять и получать SMSs в php-скрипт?

Can a PHP скрипт (который может работать с MySQL DB) отправить и / или получить SMSs через какое-то серверное решение?

любой специальный серверприложение, или специальные оборудование требуются? А совместимость? Окна,Linux?

4 ответов


есть много таких компаний, как сайт esendex которые предлагают API для отправки / получения SMS-сообщений. Я не уверен,что вы хотите отправить их прямо с вашего оборудования?


вы можете получить usb-модемы gsm и отправлять сообщения с php или любого другого языка, или вы можете разрабатывать программы J2EE на мобильных телефонах, чтобы сделать то же самое(это hackier).

самый дешевый способ сделать это (при меньшем, что был мой опыт), чтобы получить модуль MultiTech GSM за 50 USD, установил GSM-карту с неограниченным текстом и начал коммуницировать с помощью последовательного порта, очень простые команды позволяет отправлять текст и модуль делает все соединения протокола и прочее...

в основном вы используете команды AT (они меняются от модема к модему), но они похожи на пример текстового сообщения#T/"555031231"//

конечно, обратная сторона работы с чипом gsm заключается в том, что вам действительно нужно сделать некоторую электронику, если вы идете на высококачественные GSM-модемы, у них есть все решения, и вы можете просто подключать и играть!


Если вы находитесь в Великобритании, txtlocal является хорошим вариантом. У них уже есть пример кода на своем сайте,чтобы заставить вас работать. Очень просто, используя функции curl.

http://www.txtlocal.co.uk/


отправить sms:

  1. CURL должен быть установлен на вашем сервере. (В качестве альтернативы вы можете использовать функцию php_file_get_contents, но я рекомендую CURL)
  2. SMS API от поставщика сервера шлюза sms.

вот простая функция для отправки sms с помощью CURL:

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

есть два файла в классе выше: sendsms.файл php-класса для вызова теста restAPI шлюза sms.php-пример файла для тестирования функции sms. Этот класс использует spring edge API поставщика шлюза sms

для получения sms :

вам нужно приобрести виртуальный номер, который может быть 10-значный виртуальный номер мобильного телефона или короткий код число.

виртуальный номер можно настроить с помощью URL HTTP с параметрами в виде строки запроса

Ex. example.com/receivesms.php?from=%number%&smstext=%text%

все сообщения, полученные на виртуальном номере, будут запущены в настроенный URL-адрес, чтобы вы могли обработать его дальше (например. Хранение ответов в БД или отправка текстового сообщения в ответ) в вашем скрипте в соответствии с требованиями.

виртуальный мобильный номер (2 способ sms номер) может быть настроен с любым поставщиком услуг sms