Для начала займемся интерфэйсом. Размер формы можно изменять двумя способами: при помощи мыши и при помощи изменения в Object Inspector'е свойство формы Width (ширина) и Height (Высота). Для того, чтобы изменить свойства любого объекта, просто кликни на нем мышью и в Object Inspector'е на закладке Properties появяться нужные тебе свойства . Теперь меняй свойство формы Caption (заголовок) на что-нибудь типа 'МылБомбер'. Дальше нам нужно поместить на форму по 7 компонентов edit и label из закладки Standart. Метки расставь над Edit'ами. Выделяй 1ю метку и меняй ее свойство caption, и так для каждой метки. Нам нужны метки со следующими Caption'ами - "Хост', 'Порт', 'Логин', 'От', 'Кому', 'Тема' и 'Количество мессаг'. Так, теперь меняй свойства Text для Edit'ов на пустую строку, ну или на что хочешь :) Теперь добавь компоненты Button, Memo и еще одну метку из закладки Standart.Для Memo удали все строки из свойства Lines, для Button поменяй Caption на 'Послать', а для метки в Caption пиши 'Cлушаюсь и повинуюсь :)'. Осталось только добавить компонент MNSMTP из закладки FastNet и можно приступать к кодингу.
Теперь начинаем самое интересное - кодить :) Кликай два раза по кнопке 'Послать', появиться процеДУРА, которая будет выполняться при нажатии на кнопке. Эта процедура должна выглядить следующим образом: procedure TForm1.Button1Click(Sender: TObject); var {если, кто не знает, это объявление двух переменных I, NUM и J целого (integer) типа.} i, num, j: integer; begin {Свойству компонента nmsmtp присваеваем значение Ложь, если бы мы этого не сделали, то все установки для PostMessage, после отправки письма (метод SendMail), стали бы пустыми и нам бы пришлось их устанваливать заново. (по умолчанию значение этого метода = true).} NMsmtp1.ClearParams := false; NMsmtp1.host := edit1.text; //устанавливаем имя хоста из edit1 NMsmtp1.UserId := edit2.text; //идентификатор отправителя NMsmtp1.Port := strtoint(edit3.text); //Порт
NMsmtp1.PostMessage.FromAddress := edit4.text; // Адрес отправителя =) NMsmtp1.PostMessage.FromName := edit4.text; // Имя отправителя {Добавить этот адресс к списку адрессов, по которым будет отправлено данное сообщение} NMsmtp1.PostMessage.ToAddress.Add(Edit6.text); //в свойство Body суем содерджимое Memo1 NMsmtp1.PostMessage.body.Addstrings(Memo1.Lines); NMsmtp1.PostMessage.Subject := edit5.text; //Это тема письма NMsmtp1.PostMessage.LocalProgram := 'thE BAt'; //Имя проги отправителя
NMsmtp1.Connect; //устанавливаем связь с серваком j := strtoint(edit7.text); //В переменную j заносим кол-во писем из edit7.text for I := 1 to j do {начало цикла} begin {фунция strtoint() переводит текстовую переменною в переменную типа integer} num := strtoint(edit7.text) - 1; edit7.text := inttostr(num); //думаю здесь понятно NMsmtp1.SendMail; //шлем почту end; NMsmtp1.Disconnect; //отсоединяемся от сервака end;
Теперь пришло время поработать мышой, а то она уже заскучала :) Давай, буди своего грызуна и вперед. Для начала сохрани то, что ты написал(File->Save All)! Затем сворачивай окно, в котором ты писал код. Перед тобой опять наша форма. Кликни по компоненту mnsmtp1. Переходи в Object Inspector кликай по закладке Events (типа события). Видишь событие OnConnect - нам туда, кликай по пустой строке радом с нимдва раза, создасться очередная процедура. Пиши в ней: procedure TForm1.NMSMTP1Connect(Sender: TObject); begin Label8.caption := 'Устанавливаем связь...'; end;
Для события OnDisconnect пиши: procedure TForm1.NMSMTP1Disconnect(Sender: TObject); begin Label8.Caption := 'Дисконнект'; end;
Для события OnSendStart пиши: procedure TForm1.NMSMTP1SendStart(Sender: TObject); begin Label8.Caption := 'Посылка...'; end;
Если хочешь, можешь таким же способом обработать все события, главное ты понял суть( я надеюсь :)).
Ну вот и все. Осталось только откомпилить и твой МылБомбер готов :) Жми F9, если ошибок нету, то после компиляции твоя прога запуститься, а, если ошибки все-таки есть, то набивай код внимательней. У меня все работает. Юзай :)