Глава 17 безкоштовна відправка sms через internet

Відправлення SMS через Internet

Розробити програму для безкоштовної відправки SMS через Internet. Здійснювати відправку через сайти популярних українських операторів ( "UMC", "Джинс", "Київстар" ...)

Властивість ComboBox.Items - це список рядків, редагований в спеціальному вікні, яке відкривається за подвійним клацанням мишею у відповідному полі інспектора об'єктів.

Таблиця 17.1. Властивості компонента ComboBox

Перелік операторів, на яких ми будемо відправляти SMS

В даному прикладі використовується перелік мобільних операторів, що діють на території України. Якщо ви живете в іншій країні, використовуйте власний список операторів.

Для відображення кількості символів, введених в поле sms, розмістіть під memo-полем компонент Label і змініть його властивості згідно табл. 17.2.

Таблиця 17.2. Властивості компонента Label для відображення довжини повідомлення

У властивості NMSMTP1.Host слід вказати smtp-сервер. Для yandex.ru це властивість має прийняти значення smtp.yandex.ru. У властивості UserID необхідно вказати логін відправника - вказуємо heel-adm. Тепер розгорніть властивість PostMessage і змініть значення вкладеного властивості FromAddress на [email protected], a FromName - на heel-adm. Значення властивості Port змініть на 25.

Отримана в результаті форма повинна відповідати рис. 17.1.

Мал. 17.1. Форма програми для відправки SMS

При натисканні кнопки Надіслати буде виконуватися наступний код:

procedure TForm1.Button1Click (sender: TObject);

NMSMTP1.PostMessage.Body.Clear; // очищаємо текст листа

// поміщаємо SMS в текст листа

// перевіряємо, якого оператора вибрав користувач

case oper.ItemIndex of

0: num: = '38066'+tel.text+'@sms.jeans.com.ua'; // Джінc

1: num: = '38050'+tel.Text+'@sms.umc.com.ua'; // UMC

2: num: = '38067'+tel.Text+'@sms.kyivstar .net '; // Київстар

NMSMTP1.Connect; // єднаємося з сервером

NMSMTP1.SendMail; // відправляємо пошту

NMSMTP1.Disconnect; // від'єднуємося від сервера

// виводимо повідомлення про успішну відправку

ShowMessage ( 'Повідомлення відправлено!' + Num);

Для того щоб користувач бачив, скільки символів він ввів, і міг контролювати довжину SMS, реалізуємо підрахунок символів при введенні повідомлення. Для цього слід обробити подія sms. OnChange:

procedure TForm1.smsChange (Sender: TObject);

// кількість введених символів

Кількість введених символів відображається в мітці kolvo. Програма відправки повідомлень SMS в дії представлена ​​на рис. 17.2.

Мал. 17.2. Програма відправки SMS через Internet в дії

Повний код модуля програми відправки SMS через Internet представлений в лістингу 17.1.

Лістинг 17.1. Модуль програми відправки SMS через Internet

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Psock, NMsmtp;

type TForm1 = class (TForm)

Схожі статті