Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: отправка смс
Форумы портала PHP.SU » PHP » Программирование на PHP » отправка смс

Страниц (1): [1]
 

1. _kT - 11 Октября, 2008 - 06:02:59 - перейти к сообщению
Кто - нибудь действиетьльно тправял смс - ки через какой - нидь смс - шлюз? Уже сутки мучаюсь и все перепробовал смс не приходят (

МОжет есть какие правила при отправке или текст кодировать нада.
2. KaDeaT - 11 Октября, 2008 - 10:33:03 - перейти к сообщению
Я отправлял правда на украинского оператора связи других шлюзов не было.Правил ни каких не было ну только там длина не более 60 символов вроде и транслитом надо было писать.А то что не доходят может смс-шлюз не работает.
3. _kT - 11 Октября, 2008 - 17:37:01 - перейти к сообщению
а если без смс шлюзов никак ?
4. NOBEL - 11 Октября, 2008 - 17:38:26 - перейти к сообщению
Самый рабочий метод, да и давно проверенный, это использование услуги "отправка смс с электронной почты" её суть заключается в том, что отправляя почту на адрес вида (к примеру) nomer_telefons@sms.vntc.ru или на nomer_telefona@sms.megafondv.ru оно приходит на телефон в виде смс.
Используя этот способ можно, например, настроить автоответчик\фильтр\пересылку для получения информации о том, что у вас новое письмо, его тему и кусок тела.
5. KaDeaT - 12 Октября, 2008 - 09:20:37 - перейти к сообщению
Вот это и называется отправка через смс-шлюз тк у каждого оператора есть свои шлюз типа number@sms.beeline.ru на него и отправляется обычное мыло с сайта.
6. valenok - 12 Октября, 2008 - 12:08:42 - перейти к сообщению
Если не работает, то попробуйте отправить сообщение имейл себе на почту.
Если дойдёт читайте руководство оператора ещё раз и с ним же разбирайтесь.
7. stealth - 19 Октября, 2008 - 22:24:04 - перейти к сообщению
Я отправляю смс с помощью такого скрипта через sms-шлюз http://litesms[dot]net
PHP:
скопировать код в буфер обмена
  1. $user="user";
  2. $pass="passwd";
  3. $phone="7912000XXXX";
  4. $msg="Проверка отправки СМС сообщения!";
  5. $from="litesms.net";
  6.  
  7. function exec($url, $fields="", $method="POST")
  8. {
  9. $ch = curl_init();  
  10. curl_setopt($ch, CURLOPT_URL,$url); // set url to post to  
  11. curl_setopt($ch, CURLOPT_FAILONERROR, 1);  
  12. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable  
  13. curl_setopt($ch, CURLOPT_TIMEOUT, 20); // times out after 20s  
  14. curl_setopt($ch, CURLOPT_POST, 1); // set POST method  
  15. curl_setopt($ch, CURLOPT_POSTFIELDS, "$fields"); // add POST fields  
  16. $result = curl_exec($ch); // run the whole process  
  17. curl_close($ch);  
  18. return $result;
  19. }
  20.  
  21. $msg=urlencode($msg);
  22. $result=$this->exec("http://litesms.net/sms.php", "action=send_sms&login=$user&password=$pass&phone=$phone&message=$msg&from=$from");
  23.  
  24. if($result=="Error: Auth failed")
  25.  $result="Ошибка аутентификации!";
  26. if($result=="Error: can't send this message")
  27.  $result="Какое-то из полей СООБЩЕНИЕ или ОТПРАВИТЕЛЬ задано некорректно!";
  28. if($result=="Error: your credit is null")
  29.  $result="Недостаточно средств для отправки сообщения. Пополните баланс.";
  30. if($result=="Error: unsupported phone number")
  31.  $result="Неподдерживаемый номер телефона";
  32.  
  33. $start=strrpos($result, "Message_ID");
  34. if($start>0) {
  35.  $id=substr($result, $start+11);
  36.  $result="Сообщение успешно отправлено! Уникальный номер сообщения $id";
  37. }
  38. echo $result;


будут вопросы - пишите
8. valenok - 19 Октября, 2008 - 23:16:39 - перейти к сообщению
Красиво, только копирайт исправь с 2002-2008 га 2008..
И в тарифах напиши за что такие цены с потолка.
9. stealth - 20 Октября, 2008 - 09:15:04 - перейти к сообщению
valenok, спасибо за обнаруженный косяк с копирайтом. Цены для корпоративных клиентов(при оплате через выставление счёта юр. лицами), в цену также заложена комиссия по партнёрской программе.
Через некоторое время для разработчиков и тех, кто пользуются WebMoney будут существенное понижение цен (в 2 раза). Цель проекта - сделать доступное и главное УДОБНОЕ и ПРОСТОЕ средство для отправки смс.
10. valenok - 20 Октября, 2008 - 09:18:26 - перейти к сообщению
Ждёмс =)
11. _kT - 21 Октября, 2008 - 22:03:31 - перейти к сообщению
хех, я то имел ввиду бесплатную отправку смс )))

вот бесплатыне шлюзы - вариант сразу отпадает - так как по ним бывают задержки до 5 дней либо до бесконечности.

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

трабла в том что операторы. которые меня интерисуют - у них даже на официальном сайте нету отправки смс.
12. valenok - 21 Октября, 2008 - 22:58:21 - перейти к сообщению
Бесплатно только сыр в мышеловке. За качество нужно платить =)
13. bs - 26 Февраля, 2013 - 17:53:22 - перейти к сообщению
За качество нужно платить, я с Вами полностью согласен.

Как вариант отправки СМС сообщения, это использование СМС шлюза.
Соответственно это платный сервис.

Скачайте библиотеку по отправке СМС тут http://ssms[dot]su/otpravka-sms-na-php.php

Пример использования этой библиотеки на своем сайте ниже:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. require_once "ssms_su.php";
  4.  
  5. $email = "user@example.com";
  6. $password = "XxXXXXXXXXXXXXXXXX";
  7. $phone = "7xxxYYYyyzz";
  8. $phones = array("7xxxYYYyyzz", "7uuuWWWllkk");
  9. $dlr_url = "http://example.com/test.php?state=%d&phone=%p";
  10. $dlr_mask = 35;
  11.  
  12.  
  13. // Часть 1 - если задача - отправить одно сообщение, можно совместить
  14. // аутентификацию с отправкой сообщения.
  15.  
  16. // Отправляется сообщение, указывается дополнительный параметр - имя
  17. // отправителя (полный список дополнительных параметров метода push_msg
  18. // можно найти в описании API, например, test=1 - режим отладки).
  19.  
  20. smsapi_push_msg_nologin($email, $password, $phone, "Hello world =)!", array("sender_name"=>"user"))
  21. );
  22.  
  23.  
  24. // Часть 2 - если задача - отправить несколько сообщений, следует
  25. // аутентифицироваться один раз и после пользоваться Cookie с сессией.
  26.  
  27. $verb = function($ret) {
  28.     return is_null($ret)?"связи с API":$ret[0];
  29. };
  30.  
  31. // Представляемся системе, получаем id сессии
  32. $ret = smsapi_login($email, $password);
  33. if(is_null($ret) || $ret[0] != 0){
  34.     die("Невозможно представиться системе: ошибка ".$verb($ret)."\n");
  35. }
  36.  
  37. $cookie = $ret[1];
  38.  
  39. // Отправляем сообщения, используя Cookie для аутентификации.
  40. // В качестве дополнительного параметра указывается шаблон URL для
  41. // оповещения о статусе сообщения и маска - фильтр статусов.
  42. // 35 = 0b100011, значит были запрошены статусы 1,2 и 32. При обновлении
  43. // статуса сообщения в нашей системе, если новый статус - один из
  44. // указанных, будет совершен HTTP запрос с URL, в котором %d заменён на
  45. // статус, а %p - на телефон.
  46.  
  47. foreach($phones as $P){
  48.     $ret = smsapi_push_msg($cookie, $P, "Helo world! =) УЖ", array(
  49.     "dlr_url" =>$dlr_url,
  50.     "dlr_mask" => $dlr_mask
  51.     )
  52.     );
  53.     if(is_null($ret) || $ret[0] != 0){
  54.         die("Невозможно отправить сообщение: ошибка ".$verb($ret)."\n");
  55.     }
  56. }
  57.  
  58. echo "OK\n";
  59.  
  60. ?>
[size=18][/size]

 

Powered by ExBB FM 1.0 RC1