|
Delphi
Xakep, номер #048, стр. 048-085-2 SendMail1.TO_Address:=SendToEdit.Text; SendMail1.Subject:=SubEdit.Text; //Заполняю список адресатов SendMail1.Listcc.Clear; SendMail1.Listcc.Add(CCEdit.Text); //Вношу сам текст письма SendMail1.MailText.Clear; for i:=0 to TextEdit.Lines.Count-1 do SendMail1.MailText.Add(TextEdit.Lines.Strings[i]); //Прикрепляю файлы SendMail1.Attachments.Clear; SendMail1.Attachments.Add(''); //Отправка письма SendMail1.Action:=Send_Mail; end; В самой первой строчке я проверяю наличие информации об SMTP сервере. Если в окне SMTPOptForm в строке адреса SMTP сервера ничего не указано, то я не знаю, с кем соединяться, и вывожу на экран окно настроек. После его отображения я заполняю поля компонента SendMail1, необходимые при отправке почты. Ты должен заполнить следующие поля: 1. FROM_Address - здесь указывается e-mail адрес чела, которому направляется письмо. 2. SMTP_Server - адрес SMTP сервера. 3. Port - порт сервера. Чаще всего почтовики не выпендриваются и используют порт по умолчанию - 25-ый. 4. TO_Address - собственно адрес чела, которому отправляется письмо. 5. Subject - тема письма. После этого я заполняю список тех, кому должна быть отправлена копия. Этот список находится в свойстве Listcc. Но прежде чем заполнять, я очищаю старое содержимое методом Clear. Если ты пишешь программу массовой рассылки, то можешь добавить несколько адресов вот таким способом: SendMail1.Listcc.Clear; SendMail1.Listcc.Add('vasya@mail.ru'); SendMail1.Listcc.Add('petya@mail.ru'); и так далее. Сам текст письма находится в свойстве MailText. Его я также сначала очищаю методом Clear, чтобы удалить возможное старое содержимое, а потом заполняю введенным текстом: SendMail1.MailText.Clear; for i:=0 to TextEdit.Lines.Count-1 do SendMail1.MailText.Add(TextEdit.Lines.Strings[i]); Ну, и последнее, что я делаю перед отправкой - добавляю в Attachments файлы, которые должны быть отправлены вместе с письмом по почте. Список файлов находится в свойстве Attachments. Его я также очищаю методом Clear, а потом добавляю файлы методом Add. У этого метода только один параметр - путь к файлу, который надо будет отправить. SendMail1.Attachments.Clear; SendMail1.Attachments.Add('c:\filename.txt'); Последняя строчка заставляет компонент отправить созданное письмо: SendMail1.Action:=Send_Mail; Здесь свойству Action присваивается значение Send_Mail. Disconnect Вот и все. Теперь у тебя есть базовые знания и отличная библиотека для написания собственной программы бомбардировщика, спамера и просто почтового клиента. Если ты собираешься писать невидимую прогу, которая должна будет отправлять что-то незаметно, то все настройки SMTP сервера нужно прописать заранее, чтобы пользователь не видел никаких лишних окон. Исходники примера, как всегда, будут доступны на диске ][ вместе с библиотекой и на моем сайте www.cydsoft.com/vr-online в разделе Хакер. Исходник, который ты там увидишь, немного улучшен и умеет отображать ход отправки почты и сообщать об ошибках. Это не так уж сложно, поэтому ты и сам сможешь разобраться. |