Отправлять и получать SMS-сообщения на PHP скрипт?

Может ли PHP скрипт (который может работать с БД MySQL) отправлять и/или получать SMS с помощью своего рода серверного решения?

Требуется ли какое-либо специальное серверное приложение или специальное аппаратное обеспечение? И совместимость? Windows, Linux?

Ответ 1

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

Ответ 2

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

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

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

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

Ответ 3

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

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

Ответ 4

Отправить sms:

  • CURL должен быть установлен на вашем сервере. (В качестве альтернативы вы можете использовать функцию php_file_get_contents, но я рекомендую CURL)
  • SMS API от поставщика шлюзового сервера 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

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

Получить sms:

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

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

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

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

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

Ответ 5

Canny infotech - это очень простая интеграция для использования API с примером PHP.https://www.cannyinfotech.com

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

<!DOCTYPE html>
<html>
<head>
<title>Smart Technology</title>
<link rel="stylesheet" href="
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="
https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js
"></script>
</head>
<?php
if(isset($_POST['submit1'])){
$user = $_POST['user'];
$senderid = $_POST['senderid'];
$channel = $_POST['channel'];
$DCS = $_POST['DCS'];
$flashsms = $_POST['flashsms'];
$number = $_POST['number'];
$message = $_POST['message'];
$route = $_POST['route'];
$ch=curl_init('http://cannyinfotech.in/api
/mt/SendSMS?APIKEY='.$user.'&senderid='.$senderid.'&channel='.$channel.'&DCS='.$DCS.'&flashsms='.$flashsms.'&number='.$number.'&text='.$message.'&route='.$route.''
);
$data = curl_exec($ch);
print($data); /* result of API call*/
}
?>
<body>
<div class="container">
<h2>Send Message Using APIKEY</h2>
<form method="post" action="">
<div class="form-group">
<label for="api">API:</label>
<input type="text" id="TextBox1" name="" value="http://cannyinfotech.in/api
/mt/SendSMS?" readonly="readonly" class="form-control">
</div>
<div class="col-md-6">
<div class="form-group">
<label for="apikey">APIKey:</label>
<input id="TextBox2" type="text" name="user" value="" class="form-control"
placeholder="Enter APIKey">
</div>
<div class="form-group">
<label for="senderid">Sender ID</label>
<input id="TextBox3" type="text" name="senderid" value="WEBSMS"
class="form-control">
</div>
<div class="form-group">
<label for="channel"> Channel</label>
<input id="TextBox4" type="text" name="channel" value=""
class="form-control" placeholder="Enter Channel(Promo/Trans)">
</div>
<div class="form-group">
<label for="route">Route:</label>
<input id="TextBox9" type="text" name="route" value="1"
class="form-control">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="dcs">DCS</label>
<input id="TextBox5" type="text" name="DCS" value="0" class="form-control">
</div>
<div class="form-group">
<label for="flashsms">FlashSMS</label>
<input id="TextBox6" type="text" name="flashsms" value="0"
class="form-control">
</div>
<div class="form-group">
<label for="mobnumber">MobileNo:</label>
<input id="TextBox7" type="text" name="number" value=""
class="form-control" placeholder="Enter MobileNo">
</div>
<div class="form-group">
<label for="msg">Message:</label>
<input id="TextBox8" type="text" name="message" value=""
class="form-control" placeholder="Enter Message">
</div>
</div>
<input type="submit" name="submit1" value="submit" class="btn btn-default">
</form>
</div>
</body>
</html>