Конференция "Сети" » ICS SMTP клиент
 
  • stas © (13.11.09 15:21) [0]
    Разъясните пожалуйста как отправить почту с использованием 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;

  • stas © (13.11.09 16:02) [1]
    Вопрос снят, разобрался.
  • имя (15.11.09 03:00) [2]
    Удалено модератором
 
Конференция "Сети" » ICS SMTP клиент
Есть новые Нет новых   [134437   +30][b:0][p:0.002]