Отправка SMS с сайта на PHP — часто очень важный элемент технического задания, который может поставить в тупик, без определённой подготовки.
Заказчику он нужен для информирования клиентов сайта, менеджеров магазина и т.д.
Для того, чтобы отправлять SMS с сайта на PHP используют специальные SMS-гейты.
О том, как отправить SMS с сайта на PHP с помощью одного из таких SMS-гейтов (turbosms) и пойдет речь.
К вашему вниманию класс на PHP для отправки SMS с сайта на PHP.
class SMS{ public static $sender='ALPHA_SENDER'; public static $login='LOGIN'; public static $pwd='PASSWORD'; /** * $r - Recipient * $m - Message * $d - Date, default "NOW()" */ public static function send($r,$m,$d=false){ try{ $pdo = new PDO ("mysql:host=77.120.116.10;dbname=users",SMS::$login,SMS::$pwd); $pdo->query("SET NAMES utf8;"); if($d==false) $pdo->query("INSERT INTO `{SMS::$login}` (`number`,`message`,`sign`) VALUES ('$r','$m','{SMS::$sender}')"); else $pdo->query("INSERT INTO `{SMS::$login}` (`number`,`message`,`sign`,`send_time`) VALUES ('$r','$m','{SMS::$sender}','$d')"); }catch(Exception $e){ $client = new SoapClient ('http://turbosms.in.ua/api/wsdl.html'); $auth = array( 'login' => SMS::$login, 'password' => SMS::$pwd ); $res=$client->Auth($auth); $sms = array( 'sender' => SMS::$sender, 'destination' => $r, 'text' => $m ); $res=$client->SendSMS($sms); } } }
В этом классе вы можете прописать заданные параметры:
1) альфанумерическое имя отправителя (то, что будет написано «от кого» в SMS).
2) логин
3) пароль
Далее в классе есть всего одна функция, которая попытается отправить смс через запись в базу данных SMS-гейта, и если не выйдет — через Soap клиент.
Всё очень просто.
Параметров у функции отправки SMS всего 3:
Номер телефона получателя ($r)
Текст SMS ($m)
Дата отправки (если не задавать этот параметр SMS отправится моментально, если задать — то в заданное время). Формат даты MySQL (yyyy-mm-dd hh:ii:ss, где yyyy — год, mm — месяц, dd — день, hh — часы, ii — минуты, ss — секунды).
Вроде всё должно быть просто и понятно.
Отправка SMS с сайта на PHP:
SMS будет доставлено под бой курантов:
require_once('sms.php'); SMS::send('+7xxxxxxxxxx','Hello World', '2013-12-31 23:59:59');
или моментально:
require_once('sms.php'); SMS::send('+7xxxxxxxxxx','Hello World');
Если будут вопросы — задавайте в комментариях.
Класс доступен на GitHub: https://github.com/kozachenko/TurboSMS-API
Ну а если использовать API – не подходит, то можете приобрести волшебную симкарту с безлимитным интернет в Мегасимка.