Отправка СМС на PHP


Искал недавно решение задачи бесплатной отправки СМС сообщений на PHP. Бесплатных сервисов без капчи я не нашел.

Для чего я это делаю - для оповещений с сайта (заказ в интернет-магазине). 

Покупатель сделал заказ на сайте, на телефон менеджера приходит смс-ка. Согласитесь, очень удобноwink.

На блоге одного довольно неплохого программиста (phpdreamer.ru) нашел его решение, которое, сказать честно, мне понравилось.

Его скрипт полностью на PHP отправляет СМС через vk.com. 

Есть в данной социальной сети возможность отправлять на мобильник смс, когда пользователю приходит личное сообщение. Пишем на PHP скрипт для отправки сообщения пользователю в контакте, что в результате отправит сообщение человеку на мобильный телефон.

А вот и сам скрипт:

<?
define('EMAIL', '723423b4f@mail.ru');
define('PASS', 'p8233');
define('COOKIES',$_SERVER['DOCUMENT_ROOT'].'/cook.txt');

if(vksms(123456, 'Отправка тестового сообщения'))
     echo 'мессага отправлена';
else
     echo 'не удалось отправить смс';


function vksms($to_id,$message,$title='')
{
     $auth = vksms_curl('http://login.vk.com/?act=login', '&email=' . EMAIL . '&pass=' . PASS . '&expire=&vk=', 'http://vkontakte.ru/');
     $Page = vksms_curl('http://vkontakte.ru/icq912564');

     if (preg_match('#chas: cur\.decodehash\(\'([^\']+)#i', $Page, $matches))
     {
         $chas = strrev(substr($matches[1],4,13)) . strrev(substr($matches[1],20,25));

         $send = iconv('cp1251', 'utf-8', vksms_curl(
                                 'http://vkontakte.ru/al_mail.php',
                                 'act=a_send&ajax=1&al=1&chas=' . $chas . '&from=box&message=' . urlencode($message) . '&title=' . urlencode($title) . '&to_id=' . $to_id)
         );
         return preg_match('|Сообщение отправлено|ui', $send);
     }
     else
         return FALSE;
}

function vksms_curl($url,$post='',$ref='',$basicAuth=':',$userAgent='Mozilla/7.0 (Windows; U; Windows NT 7.1; ru; rv:1.6.1.3) Gecko/20090824 Firefox/3.5.4',$headers=FALSE)
{
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_HEADER,$headers);
     curl_setopt($ch, CURLOPT_REFERER, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
     curl_setopt($ch, CURLOPT_USERAGENT,$userAgent);
     curl_setopt($ch, CURLOPT_ENCODING, 'utf-8');
     curl_setopt($ch, CURLOPT_AUTOREFERER,1);
     curl_setopt($ch, CURLOPT_TIMEOUT,999);

     if($post)
     {
         curl_setopt($ch, CURLOPT_POST, 1);
         curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
     }
     if(defined('COOKIES'))
     {
         curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIES);
         curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIES);
     }
     curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
     curl_setopt($ch, CURLOPT_USERPWD, $basicAuth);

     @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);


     $data = curl_exec($ch);
     curl_close($ch);
     return $data;
}

Осталось только настроить в контакте на своей учетной записи оповещения по смс.

 


Тэги:

Комментарии: 0

Прокомментировать »

 
 
 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика