Отправляет email-рассылки с помощью сервиса Sendsay

Интернет обучение

  Все выпуски  

Интернет обучение ВЫПУСК №2


Информационный Канал Subscribe.Ru

Фирма InterKurs предлагает пройти обучение по следующим языкам программирования:
PHP
HTML
PERL
C++
DELPHI
PASCAL
и многим другим.
Проводим консультации, выполняем заказы на написание программ,
Помогаем найти информацию, нужные вам книги.
Форма обучения - заочная (через интернет). По вопросам обращаться по адресу:
interkurs@yandex.ru

В этом выпуске:
I Отправка SMS средствами Delphi.

II Отправка почты средствами PHP:
1.      Отправление письма с картинками;
2.      Способы отправки писем.


I Отправка SMS средствами Delphi.

Алгоритм работы приложения для отправки SMS достаточно простой. При помощи компонента
TWebBrowser нужно реализовать отправку данных на веб-сервер сотового оператора,
содержащих информацию о телефонном номере, текст сообщения и некоторой служебной
информации. 
Отправку SMS сообщения рассмотрим на примере оператора сотовой связи "Ульяновск-
GSM ", позволяющего производить отправку SMS сообщений через Web- страничку по
адресу: 

http://sms.smarts-gsm.ru/sms.cgi 

Для отправки SMS сообщения нужно заполнить поля формы: 
в поле "Кому" ввести полный телефонный номер, например 78422973421 . 
В поле "Что" вводится текст сообщения. 
В списке "Формат" выбирается тип сообщения. 
Отправка сообщения инициализируется кнопкой "Send>>". 

Передаваемая строка на сервер оператора сотовой связи, при заполненном поле "Кому"
- 78422973421, полем "Что" - " SMS ", в формате "Обычный SMS " выглядит следующим
образом: 

to=78422973421&msg=SMS&dcs=0 (1) 

Разберемся откуда берется эта строка и что она означает. Если рассмотреть HTML
код страницы, то видим следующую картину: 

http://sms.smarts-gsm.ru/sms.cgi"> [номер абонента]
Очевидно, что это форма со следующими компонентами : 1) поле для ввода текста с именем to , куда вводится номер абонента 2) элемент ввода текста с именем msg , куда вводится текст сообщения 3) выпадающее меню с именем dcs , где выбирается тип сообщения 4) кнопка " Clean " для очистки формы от текстовой информации 5) кнопка "Send >>" для отправки содержимого формы на сервер Таким образом, строка вида (1) образуется при отправке содержимого формы методом POST на CGI шлюз по адресу http://sms.smarts-gsm.ru/sms.cgi Делаем вывод, что нужно при помощи Delphi сформировать такую же строку и отослать ее на сервер оператора сотовой связи. Отправку строки будем производить методом Navigate2 компонента T WebBrowser . Спецификация метода следующая : procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant); overload; Описание: метод используется при навигации и закачки специфичных ресурсов. Может отсылать НТТР сообщения на специфичные адреса URL и показывать при этом результаты выполнения этого метода. Параметры: var URL: OleVariant - переменная типа OleVariant, содержащая указатель на локальный файл или ресурс в сети Интернет. var Flags: OleVariant - переменная типа OleVariant, может принимать одно из нескольких возможных значений: Константа Значение Описание navOpenInNewWindow 1 открывать файл или URL в новом окне navNoHistory 2 не добавлять файл в лист History. Новая страница заменяет имеющуюся страницу в кэше. navNoReadFromCache 4 Не читать страницу из кэша. navNoWriteToCache 8 Не записывать результат навигации в кэш. navAllowAutosearch 16 Если навигация не удалась, разрешить броузеру искать ресурсы с таким же названием, но с именем домена (com, .edu, и т.д.) var TargetFrameName: OleVariant - имя фрейма в ресурсе, который должен быть отображен, или NULL если таковой не может отображаться в указанном URL. var PostData: OleVariant - содержит данные, пересылаемые серверу. Используется для генерации POST метода. Если значение переменной NULL , то генерируется метод GET. Данные, содержащиеся в PostData игнорируются, если URL по которому производится навигация, не HTTP типа. var Headers: OleVariant - содержит НТТР заголовок передаваемых данных Создадим форму в Delphi из необходимых для заполнения строки вида (1) компонентов. Добавляем также компонент TWebBrowser и делаем его невидимым из эстетических соображений. Выглядеть форма будет следующим образом: Номер телефона должен заноситься в компонент ComboBox1 , а текст сообщения в Memo1. Обработчик кнопки "Отправить", будет выглядеть следующим образом: var vWebAddr, vPostData, vFlags, vFrame, vHeaders: OleVariant; iLoop: Integer; text,stPostData: String; begin text:=Memo1.Text; stPostData:='to='+ComboBox1.Text+'&msg='+text+'&dcs=0'; vHeaders:= 'Content-Type:application/x-www-form-urlencoded'+ #10#13#0; vPostData:= VarArrayCreate([0, Length(stPostData)], varByte); for iLoop := 0 to Length(stPostData)- 1 do begin vPostData[iLoop]:= Ord(stPostData[iLoop+1]); end; vPostData[Length(stPostData)]:= 0; TVarData(vPostData).vType:= varArray; vWebAddr:='http://sms.smarts-gsm.ru/sms.cgi'; vFlags:=navNoWriteToCache; vFrame:=EmptyParam; try WebBrowser1.Navigate2(vWebAddr,vFlags,vFrame,vPostData,vHeaders); except end; Разберем код построчно. stPostData:='to='+ComboBox1.Text+'&msg='+text+'&dcs=0'; заполняем строковую переменную stPostData значениями полей. Отправляем обычный SMS, поэтому dcs=0, исходя из значений в HTML форме

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.inkur
Архив рассылки
Отписаться
Вспомнить пароль

В избранное