Відправлення 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)