<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: отправка SMS на номера Beeline]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=1112</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=1112&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: отправка SMS на номера Beeline».]]></description>
		<lastBuildDate>Sat, 02 Feb 2008 08:23:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[VBScript: отправка SMS на номера Beeline]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=8569#p8569</link>
			<description><![CDATA[<p>Скрипт запрашивает номер телефона и текст сообщения через InputBox, а затем отправляет сообщение, посылая запрос к серверному скрипту на <a href="http://beonline.ru">beonline.ru</a>.<br /></p><div class="codebox"><pre><code>&#039;/// Скрипт бесплатной отправки SMS сообщений на номера Beeline

&#039;К сожалению как и всего бесплатного так и у этого скрипта есть ограничения
&#039;1) Отправлять СМС можно только на номера Beeline
&#039;2) Количество отправляемых сообщений с одного IP ограничено
&#039;3) Плюс часто приходит ответ о том, что система перегружена. В этом случае повторите отправку ещё раз.

Dim Operators(8)

Operators(0) = &quot;777 - K-Mobile (Казахстан)&quot;
Operators(1) = &quot;095 - Beeline Damps (Россия)&quot;
Operators(2) = &quot;901 - Beeline Damps (Россия)&quot;
Operators(3) = &quot;903 - Beeline GSM (Россия)&quot;
Operators(4) = &quot;905 - Beeline GSM (Россия)&quot;

Operators(5) = &quot;906 - Beeline GSM (Россия)&quot;
Operators(6) = &quot;909 - Beeline GSM (Россия)&quot;
Operators(7) = &quot;960 - Beeline GSM (Россия)&quot;
Operators(8) = &quot;961 - Beeline GSM (Россия)&quot;

Dim phone,message

phone = InputBox(&quot;Введите номер на который хотите произвести отправку сообщения.&quot; &amp; vbCrlf &amp; vbCrlf &amp; &quot;Доступные операторы:&quot; &amp; vbCrlf &amp; vbCrlf &amp; Join(Operators,vbCrlf),&quot;Отправка смс сообщения на номера Beeline&quot;,&quot;890&quot;)
message = InputBox(&quot;Введите текст сообщения.&quot;,&quot;Отправка смс сообщения на номера Beeline&quot;,&quot;Сообщение&quot;)

Dim Status

Status = SendBeelineSMS(phone,message,1)

If Err.Number = 0 Then
    Msgbox Status,vbInformation
Else
    MsgBox Err.Number &amp; &quot; &quot; &amp; Err.Description,vbCritical
End if

Function SendBeelineSMS(phone,Message,translit)
    On Error Resume Next
    Dim operator, VarBody, XMLHTTP

    If Len(phone) &lt;&gt; 11 Then
        Err.Number = vbObjectError + 1
        Err.Description = &quot;Недопустимая длина номера. Номер должен быть формата 890XXXXXXXX&quot;
        Exit Function
    End If

    operator = Mid(phone, 2, 3)

    Dim AvailableOperators
    AvailableOperators = &quot;777,095,901,903,905,906,909,960,961&quot;
    if Instr(1,AvailableOperators,operator) = 0 Then
        Err.Number = vbObjectError + 2
        Err.Description = &quot;Недопустимый (&quot; &amp; operator &amp; &quot;) оператор.&quot;
        Exit Function
    End if

    phone = Mid(phone, 5)
    if translit &lt;&gt; &quot;&quot; then translit=&quot;1&quot;
    VarBody = &quot;number_sms=number_sms_send&amp;adv_year=&amp;termtype=G&amp;translit=&quot; &amp; translit &amp; &quot;&amp;y=4&amp;x=5&amp;prf=7&quot; &amp; operator &amp; &quot;&amp;phone=&quot; &amp; phone &amp; &quot;&amp;message=&quot; &amp; EncodeURIcomponent(message) &amp; &quot;&amp;submit=&quot; &amp; EncodeURIcomponent(&quot;Отправить&quot;)
    Set XMLHTTP = CreateObject(&quot;MSXML2.XMLHTTP&quot;)
    XMLHTTP.open &quot;POST&quot;, &quot;http://217.118.84.204/servlet/send/sms/&quot;, False
    XMLHTTP.SetRequestHeader &quot;Content-type&quot;, &quot;application/x-www-form-urlencoded&quot;
    XMLHTTP.Send VarBody
    Select Case XMLHTTP.Status
    Case 200
        SendBeelineSMS = XMLHTTP.responsetext
    Case Else
        Err.Number = vbObjectError + 3
        Err.Description = &quot;Ошибка при отправке запроса: &quot; &amp; XMLHTTP.Status &amp; &quot; &quot; &amp; XMLHTTP.StatusText &amp; vbCrLf
        Exit Function
    End Select
End Function

Function EncodeURIcomponent(SourceString)
    Dim I, C, Out
    For I = 1 To Len(SourceString)
      C = Asc(Mid(SourceString, I, 1))
      If C = 32 Then
        EncodeURIcomponent = EncodeURIcomponent + &quot;+&quot;
      ElseIf (C &lt; 48 Or C &gt; 126) Or (C &gt; 56 And C &lt;= 64) Then
        EncodeURIcomponent = EncodeURIcomponent + &quot;%&quot; + Hex(C)
      Else
        EncodeURIcomponent = EncodeURIcomponent + Chr(C)
      End If
    Next
End Function</code></pre></div><p>Автор скрипта - <strong>Xameleon</strong>.</p>]]></description>
			<author><![CDATA[null@example.com (The gray Cardinal)]]></author>
			<pubDate>Sat, 02 Feb 2008 08:23:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=8569#p8569</guid>
		</item>
	</channel>
</rss>
