Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ICS SMTP клиент


stas ©   (2009-11-13 15:21:00) 

Разъясните пожалуйста как отправить почту с использованием ICS.
1. Я взял их пример, который расписан по кнопкам на этом сайте и собрал в    одну процедуру, но в таком случае на строке выполнения Helo ошибка "SMTP component not ready."

2.Там у них раздельно отправляется вложение и текст, как это все собрать.
или я чего- то там непонял вот собственно сам код:
procedure SendMail (SmtpServer,MailTo,MailFrom,Subj:String;MMessage,MFiles:TStrings);
Var SmtpClient:TSmtpCli;   i:Integer;

procedure BuildRcptList;
var
   Buf : String;
   I   : Integer;
begin
   SmtpClient.RcptName.Clear;
   Buf := MailTo;
   while TRUE do begin
       I := Pos(';', Buf);
       if I <= 0 then begin
           SmtpClient.RcptName.Add(Trim(Buf));
           break;
       end
       else begin
           SmtpClient.RcptName.Add(Trim(Copy(Buf, 1, I - 1)));
           Delete(Buf, 1, I);
       end;
   end;
end;

begin
SmtpClient:=TSmtpCli.Create(nil);
//С каким SMTP сервером будем работать.
SmtpClient.Host := SmtpServer;
//Порт SMTP серера (например 25)
SmtpClient.Port := 'smtp';
//Приступить к соединению с SMTP сервером
SmtpClient.Connect;

//Название сервера, которого будем приветствовать
i:=Pos('@',MailTo)+1;

SmtpClient.SignOn := Copy (MailTo,i,Length(MailTo)-i+1);
//Поздороваться с сервером
SmtpClient.Helo;

//Почтовый адрес на который при возникновении ошибки сервер
//вышлет уведомление о ошибке, также используется в письме, как
//обратный адрес.
SmtpClient.FromName := MailFrom;
SmtpClient.MailFrom;
//Процедура для обработки адреса получателя
BuildRcptList;
//Информируем сервер кому мы хотим послать письмо
SmtpClient.RcptTo;
//Приступаем непосредственно к передаче данных на почтовый ящик.
BuildRcptList;
SmtpClient.HdrFrom         := MailFrom;
SmtpClient.HdrTo           := MailTo;
//Здесь определяем тему письма
SmtpClient.HdrSubject      := Subj;
//Если необходимо с письмом передать файл с данными (например картинку)
//то в параметр EmailFile записываем локальный путь на диске, где она лежит.
//SmtpClient.MailMessage:=MMessage;
SmtpClient.EmailFiles := MFiles;
SmtpClient.Data;
//Закрываем почтовую сессию
SmtpClient.Quit;
//Обрываем соединение с сервером.
SmtpClient.Abort;
SmtpClient.Free;
end;


  (2009-11-15 03:00:00) [1]

Удалено модератором


stas   (2009-11-13 16:02:00) [2]

Вопрос снят, разобрался.


Наверх

Титульная страница Поиск, карта сайта Написать письмо