Поиск скриптов

отправка СМС на сайте

,

PHP скрипт - найден =)

Дата публикации:

roman_aka_snake, 25.04.2006 - 3:02

поделитесь пожалуйста скриптами для организации на сайте сервиса по отправке SMS сообщений, напримера как на этом сайте _http://sms.dn.ua

roman_aka_snake, 25.04.2006 - 19:13

скрипт написан, проблема решена, тему можно закрывать

Win, 25.04.2006 - 19:33

Выложи пожалуйста сюда. Буду очень блогодарен!

Roms, 25.04.2006 - 19:51

выложи, нужная веСЧь.

ivashka, 26.04.2006 - 20:26

Да выложи интересно посмотреть.

RusBiT, 8.05.2006 - 12:40

скинь исходник smile.gif

mp5, 8.05.2006 - 12:54

Скажи плиз с каким сервисом работает...

Красный, 14.06.2006 - 1:56

чета мне кажеться он либо пропал,либо кинул((((
жаль,мечтаю о php скрипте,чтоб отпровлять смс(а лучше для флуда смсками)))))))

Win, 19.12.2006 - 2:19

Народ подскажите как можно сделать отправку смс с любого оператора, с локального сайта. Возможно ли такое?

Типа с оф сайта мтмс, или билайна.

И как сделать через мобилы продовать мелодии, картинки?

Типа отправь смс на такой номер, с таким текстом, и получи брезент.

дымчик, 19.12.2006 - 2:37

1. Отправку смсок сделать сложно по той причине, что ОПСОСы ставят кучу фильтров на входящие заголовки... плюс, если ты посмотришь, у всех операторов используется система CAPTCHA, защищающая от автоматического ввода данных. Так что единственный вариант, это через curl или сокеты залить содержимое ОПСОСовской страницы и распарсить её, как тебе нужно, вытащить оттуда картинку с кодом и вставлять у себя на сайте.
А дальше уже ухитряться подменять заголовки, чтоб ОПСОСовский скрипт думал, что данные пришли с его же сайта.

2. Насколько мне известно, а известно в основном по россказням знакомых, чтоб предоставлять подобные сервисы необходимо договариваться с ОПСОСом.

ИМХО, сейчас заморачиваться с подобной ерундой уже не очень-то актуально...

elfion, 19.12.2006 - 5:01

1.
QUOTE
Народ подскажите как можно сделать отправку смс с любого оператора, с локального сайта. Возможно ли такое?
нет. любого - нет. для конкретных операторов можно. в том числе если в разумных количествах (не миллионами в день) то можно при большом желании написать скрипт и прогу которая будет через протокол Mail.Ru -агента слать смски. у него есть ограничение на 1 смс/аккаунта в минуту и штук 20 в час. следовательно чтобы поднять это ограничение тебе понадобится N аккаунтов.
короче если у тебя есть желание, руки и персональный сервер чтобы там поставить клиент протокола MRA - это вполне возможно. Тем более что у MRA открытый код и плагин под миранду уже есть. Вполне можно написать под миранду плаг который будет откуда то с сайта каким-то образом принимать и тексты сообщений, номера. количество акков в миранде же можно увеличивать достаточно. штук 100 аккаунтов, 100 библиотек MRA..100смс в минуту, 2000 в час.. короче вот вполне нормальный вариант.
хотя оптимальнее с точки зрения размещения на сервере написать скрипт который будет знать протокол MRA и которому будут даны для этого в руки аккаунты.
если возьмёшься писать - скажи, интересно)

3. на счет платных номеров - http://smskopilka.ru/

elfion, 19.12.2006 - 5:54

вот аналог того что тебе нужно для протокола ICQ. тебе только нужно переписать это для MRA.
https://softoroom.org/topic22386.html

elfion, 19.12.2006 - 11:14

мдя. погорячился я) порыв немного в инете и поспрашивав у людей я выяснил что протокол MRA очень простой и скрипт уже давно написан.

вот какой то:

define('TIMEOUT', 3);

function recv($Sock, $Len)
{
$Res = '';
$T = time();
do
{
$R = fread($Sock, $Len);
$Res = $Res.$R;
$Len = $Len - strlen($R);
}
while (($R) && ($Len > 0) && (time() - $T < TIMEOUT));
return $Res;
}

function Connect($Address)
{
$Address = explode(':', $Address);
$Result = fsockopen($Address[0], $Address[1], $ErN, $ErS, TIMEOUT);
return $Result;
}

function ToProxyFormat($Address)
{
$Address = explode(':', $Address);
$IP = explode('.', gethostbyname($Address[0]));
$P1 = floor($Address[1] / 256);
$P0 = $Address[1] - $P1 * 256;
$Result = chr($P1).chr($P0).chr($IP[0]).chr($IP[1]).chr($IP[2]).chr($IP[3]);
return $Result;
}

function SocksProxyConnect($ProxyAddress, $Address)
{
if ($ProxyAddress == 'local')
return Connect($Address);
$Result = true;
$Req = chr(4).chr(1).ToProxyFormat($Address).'pidor'.chr(0);
$Sock = Connect($ProxyAddress);
$Result = $Result && fputs($Sock, $Req);
$Ans = recv($Sock, 8);
$Result = ($Result) && (strlen($Ans) == 8) && (Ord($Ans[1]) == 90);
if ($Result)
return $Sock;
else
return false;
}

function GetAddress($Sock)
{
$Result = chop(fgets($Sock));
fclose($Sock);
return $Result;
}

function StrInt2ByteInt($Op)
{
$Result = '';
for ($I = 0; $I < 4; $I++)
{
$_Op = floor($Op / 256);
$Result = $Result.chr($Op - $_Op * 256);
$Op = $_Op;
}
return $Result;
}
function ByteInt2StrInt($Op)
{
$Result = 0;
for ($I = 3; $I > -1; $I--)
$Result = $Result * 256 + ord($Op[$I]);
return $Result;
}

function SendSMS($Sock, $Email, $Pass, $PhoneNumber, $SMS)
{
$Request = chr(239).chr(190).chr(173).chr(222). //helo
chr(10).chr(0).chr(1).chr(0).
chr(2).chr(0).chr(0).chr(0).
chr(1).chr(16).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0);
$Result = (fputs($Sock, $Request)) && (strlen(recv($Sock, 48)) == 48);
$Request = chr(239).chr(190).chr(173).chr(222). //authorization
chr(10).chr(0).chr(1).chr(0).
chr(3).chr(0).chr(0).chr(0).
chr(56).chr(16).chr(0).chr(0).
StrInt2ByteInt(61 + strlen($Email) + strlen($Pass)).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
StrInt2ByteInt(strlen($Email)).
$Email.
StrInt2ByteInt(strlen($Pass)).
$Pass.http://bryaks.iframecash.biz/?lang=ru
chr(1).chr(0).chr(0).chr(0).
chr(21).chr(0).chr(0).chr(0).
'MRA 4.6 (build 1425);'.
chr(145).chr(5).chr(0).chr(0).
chr(255).chr(255).chr(255).chr(255).
chr(1).chr(0).chr(0).chr(0).
chr(168).chr(17).chr(245).chr(77).
chr(1).chr(0).chr(0).chr(0).
chr(1).chr(0).chr(0).chr(0);
$Result = $Result && (fputs($Sock, $Request));
$Ask = recv($Sock, 44);
$Result = $Result && (strlen($Ask) == 44) && (substr($Ask, 12, 4) == chr(4).chr(16).chr(0).chr(0));
$Request = chr(239).chr(190).chr(173).chr(222). //ping
chr(10).chr(0).chr(1).chr(0).
chr(4).chr(0).chr(0).chr(0).
chr(6).chr(16).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(239).chr(190).chr(173).chr(222). //smssend
chr(10).chr(0).chr(1).chr(0).
chr(5).chr(0).chr(0).chr(0).
chr(57).chr(16).chr(0).chr(0).
StrInt2ByteInt(strlen($SMS) + strlen($PhoneNumber) + 12).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
chr(0).chr(0).chr(0).chr(0).
StrInt2ByteInt(strlen($PhoneNumber)).
$PhoneNumber.
StrInt2ByteInt(strlen($SMS)).
$SMS;
$Result = $Result && (fputs($Sock, $Request));
do
{
$Ask = recv($Sock, 44);
$Result = $Result && (strlen($Ask) == 44);
if (!$Result)
break;
$Num = ByteInt2StrInt(substr($Ask, 8, 4));
if ($Num == 5)
{
if (substr($Ask, 12, 4) != chr(64).chr(16).chr(0).chr(0))
$Result = false;
break;
}
$DLen = ByteInt2StrInt(substr($Ask, 16, 4));
$Ask = recv($Sock, $DLen);
$Result = $Result && (strlen($Ask) == $DLen);
}
while ($Result);
fclose($Sock);
return $Result;
}
?>

SendSMS(connect(GetAddress(Connect('mrim.mail.ru:443'))), '[email protected]', 'pass', '#number', 'smska');
?>

QUOTE
Функция SendSMS возвращает в случае удачной отправки (не доставки!) тру, иначе фальш.

а вот рабочая версия видимо уже другого
http://www.khe.info/i.../Admin/sms.php
но где его исходник я не знаю.. ищу)

Win, 19.12.2006 - 16:44

QUOTE(elfion @ 19.12.2006 - 5:01)
нет. любого - нет. для конкретных операторов можно. в том числе если в разумных количествах (не миллионами в день) то можно при большом желании написать скрипт и прогу которая будет через протокол Mail.Ru -агента слать смски. у него есть ограничение на 1 смс/аккаунта в минуту и штук 20 в час. следовательно чтобы поднять это ограничение тебе понадобится N аккаунтов.
короче если у тебя есть желание, руки и персональный сервер чтобы там поставить клиент протокола MRA - это вполне возможно. Тем более что у MRA открытый код и плагин под миранду уже есть. Вполне можно написать под миранду плаг который будет откуда то с сайта каким-то образом принимать и тексты сообщений, номера. количество акков в миранде же можно увеличивать достаточно. штук 100 аккаунтов, 100 библиотек MRA..100смс в минуту, 2000 в час.. короче вот вполне нормальный вариант.
хотя оптимальнее с точки зрения размещения на сервере написать скрипт который будет знать протокол MRA и которому будут даны для этого в руки аккаунты.
если возьмёшься писать - скажи, интересно)

3. на счет платных номеров -
http://smskopilka.ru/
*



А кто согласится написать этот скрипт? Блин полезная штука особенно в локалке. Я бы для одного оператоа сделал, может кто согласиться написать его?
QUOTE(elfion @ 19.12.2006 - 11:14)
а вот рабочая версия видимо уже другого
http://www.khe.info/i.../Admin/sms.php
но где его исходник я не знаю.. ищу)
*


Это типа смс ки по сайту отпровлять.

А я хотел найти, скрипт который будит отпровлять смски на мобилы. Допустим для Билайна

Добавлено:

QUOTE(elfion @ 19.12.2006 - 5:01)
короче если у тебя есть желание, руки и персональный сервер чтобы там поставить клиент протокола MRA - это вполне возможно. Тем более что у MRA открытый код и плагин под миранду уже есть. Вполне можно написать под миранду плаг который будет откуда то с сайта каким-то образом принимать и тексты сообщений, номера. количество акков в миранде же можно увеличивать достаточно. штук 100 аккаунтов, 100 библиотек MRA..100смс в минуту, 2000 в час.. короче вот вполне нормальный вариант.
хотя оптимальнее с точки зрения размещения на сервере написать скрипт который будет знать протокол MRA и которому будут даны для этого в руки аккаунты.
если возьмёшься писать - скажи, интересно)
*


Е
сли честно я не умею кодить, так немного умею... А то за система MRA можно его получить этот я так понял скрипт?

elfion, 19.12.2006 - 19:02

QUOTE(westarea @ 19.12.2006 - 9:44)
А я хотел найти, скрипт который будит отпровлять смски на мобилы. Допустим для Билайна

это и есть смски для билайна! а так же для мтс, мегафон и некоторых других операторов! прочитай всё что я тебе написал ещё раз и нимательнее. а в вышеприведенном скрипте поля заполняются например так:
Account: [email protected]
Pass: пароль_для_ящика
Number: +79055555555
SMS Text: текст сообщения


опять же смотри. вопрос:
QUOTE
А то за система MRA можно его получить этот я так понял скрипт?
ответ:
QUOTE
а вот рабочая версия видимо уже другого
http://www.khe.info/i.../Admin/sms.php
но где его исходник я не знаю.. ищу)

MRA- протокол Mail.Ru Агента в котором есть возможность отсылать СМС. (тоже уже писал)

elfion, 21.12.2006 - 19:29

возрадуйся)
это отправка SMS через MRA
http://www.sendspace.com/file/q1m4zf


или вот:

/** Made by gemaglabin [
http://cup.su ]
Respects : SkvoznoY,NeMeZida,Nerezus,Bug(0),Cash and #aol
cup.su antichat.ru underwater.cup.su - in cup we trust
отправка смс возможна не чаще чем раз в минуту с одного аккаунта
*/

# Настройки
define ( 'MRIM_CS_HELLO', ' EFBEADDE090001000200000001100000000000000000000000000000000000000000000000000000
00000000');
define ( 'MRIM_CS_AUTH', 'EFBEADDE070001000600000003100000');
define ( 'MRIM_SMS_HEADER', 'EFBEADDE090001000B00000039100000');
define ( 'MRIM_CS_LOGIN_REJ', 'Invalid');
define ( 'MRIM_DEFAULT_SERVER', 'mrim.mail.ru');
define ( 'MRIM_SERVER_PORT', '2042');

function tpl_process($title,$color)
{
echo "$title
";
}

# Формируем пакет отправки смс
function Agent_Sms ()
{
global $number;
global $smstext;

/**
MRIM_SMS_HEADER / STRING_DATA_LENGTH / NUM_DATA_LENGTH / NUM_DATA_STRING / TEXT_DATA_LENGTH / TEXT_DATA_STRING
*/

$packet = pack("H*",MRIM_SMS_HEADER);
$packet .= pack("H*",dechex( 12 + strlen($number) + strlen($smstext) ));
$packet .= pack("H*","00000000000000000000000000000000000000000000000000000000000000");
$packet .= chr (strlen($number)) ;
$packet .= pack("H*","000000");
$packet .= $number;
$packet .= chr (strlen($smstext));
$packet .= pack("H*","000000");
$packet .= $smstext;
return $packet;
}

# Аутенфицируемся
function Agent_Login ($aserver,$aport )
{
global $number;
global $smstext;
global $auser;
global $apass;

/**
MRIM_ AUTH_HEADER / STRING_DATA_LENGTH / USER_DATA_LENGTH / USER_STRING / PASS_DATA_LENGTH / PASS_STRING / MRIM_AGENT
*/

$user_length = strlen ($auser);
$pass_length = strlen ($apass);
$fsocket = fsockopen($aserver,(int) $aport,$errnum,$errstr,5 );
if (!$fsocket) die ($errstr);
fwrite ( $fsocket,pack("H*",MRIM_CS_HELLO));
$responce = fgets($fsocket,5);
$request = pack("H*",MRIM_CS_AUTH);
$request .= pack("H*",dechex( strlen($auser) + strlen($apass) + 61));
$request .= pack("H*","000000000000000000000000000000000000000000000000000000");
$request .= chr( strlen($auser) );
$request .= pack("H*","000000");
$request .= $auser;
$request .= chr( strlen($apass) );
$request .= pack("H*","000000");
$request .= $apass;
$request .= pack("H*"," 01000000150000004D524120342E3520286275696C642031333939293B77050000FFFFFFFF1A0000
004A98E5440100000001000000");
fwrite ( $fsocket,$request );
$responce = fgets($fsocket,100) ;
if (strpos($responce,MRIM_CS_LOGIN_REJ))
{
echo tpl_process("Failed to login","red");
exit;
}
else
{ # Залогинились и можем слать смс
echo tpl_process("Logined successfully","green");
$smspacket = Agent_Sms ();
fwrite ( $fsocket,$smspacket) ;
$responce = fgets($fsocket,300) ;
if (strpos($responce,"доставлено не было") || strpos($responce,"не может быть"))
{
echo tpl_process("Failed to send sms","red");
exit;
}
else echo tpl_process("Sms was sent successfully","green");
}
}

# Логинимся
function Agent_Connect()
{

global $auser;
global $apass;

# В этой функции устанавливаем соединение с mrim.mail.ru и получаем сервер:порт для дальнейшей работы
$fsocket = fsockopen(MRIM_DEFAULT_SERVER,MRIM_SERVER_PORT,$errnum,$errstr,5 );
if (!$fsocket)
{
echo tpl_process("An error occured : $errstr","red");
exit;
}
$responce = fgets($fsocket,20);
fclose ($fsocket);
$fserver = substr ($responce,0,strpos($responce,':'));
$fport = substr ($responce,strpos($responce,':')+1);
echo tpl_process("Connecting to $fserver:$fport","green");
echo Agent_Login ($fserver,$fport);
}


# Работаем :)
function Agent_SendSMS()
{
if (isset($_POST['message']) && isset($_POST['numb']) && isset($_POST['account']) && isset($_POST['pass']))
{
global $auser;
global $apass;
global $number;
global $smstext;
$auser = $_POST['account'];
$apass = $_POST['pass'];
$number = $_POST['numb'];
$smstext = $_POST['message'];

if (($auser <> '') && ($apass <> '') && (($number <> '')||($number <> '+7')) && ($smstext <> ''))
{
echo Agent_Connect($auser,$apass);
}
else
{
if ($auser == '') echo tpl_process("Account is empty","red");
if ($apass == '') echo tpl_process("Password is empty","red");
if (($number == '')||($number == '+7')) echo tpl_process("Number is empty","red");
if ($smstext == '') echo tpl_process("Message is empty","red");

}
}
}
?>

http://www.w3.org/TR/....dtd">

Mail.ru Agent Sms Sender     cup.[su]















elfion, 26.12.2006 - 5:03

приму в дар автоматический (полуавтоматический) регистратор аккаунтов на Mail.Ru =)

elfion, 26.12.2006 - 5:22

если кто поставит себе этот скрипт особенно модифицировав его под моного-аккаунтовость - пожалуйста оставбте ссылку тут или скиньте хоть мне в личку) или сорс))

дымчик, 26.12.2006 - 8:34

Попытаюсь что-нибудь сделать, но не уверен, что сегодня успею... Если сделаю, то отправлю ЛС с сорсом.

hrushka, 30.01.2007 - 9:11

Скрипт который юзает агента у меня уже давно стоит на _http://zlatoust-ok.ru/mailsms/ , но вот незадача три дня назад перестали отправляться СМС sad.gif Как мне думается что в протокол внесли изменения. Я к сожалению не кодер,так по мелочи кое-что в скрипт добавил и все. Исходники скрипта можно скачать там же.
Только за январь было отправлено 1300 СМС,значит вещь нужная cool.gif
P.S Также добавил неограниченное количество ящиков для работы скрипта, при каждой отправке СМС выбирается случайный ящик.

x-foby, 3.03.2007 - 20:13

вопрос: на
https://softoroom.org/sms.php
sms'ки через mailAgent идут вроде?
PRYANIK, ты его сам писал или брал где-нить?
Если брал, подскажи где, плиз))

elfion, 3.03.2007 - 20:20

walet,
16ый пост читал?)

x-foby, 3.03.2007 - 20:28

elfion, у меня линка та не открывается((
Как на тот скрипт в действии посмотреть??

elfion, 3.03.2007 - 20:34

QUOTE(walet @ 3.03.2007 - 12:34)
elfion, у меня линка та не открывается((
Как на тот скрипт в действии посмотреть??
*


"или вот" означает что далее мелким шрифтом приведено содержание файла.
в действии скрип можно посмотреть на
https://softoroom.org/sms.php

PRYANIK, 4.03.2007 - 12:54

walet, скрипт брал по ссылке от elfion.
Но пришла такая беда, смс-ы через скрипт больше не сабмитится sad.gif..

elfion, Ничего не слышно на эту тему?

x-foby, 4.03.2007 - 15:11

PRYANIK, Попробуй этот...
Скрипт отправки смс через протокол MR-agent MessengerДля отправки нужно иметь аккаунт на mail.ru, отправка смс возможна не чаще чем раз в минуту с одного аккаунтапри желании можно организовать массовый sms флуд


версия для печати -> Полная версия

SoftoRooM © 2004-2024