Разъясните пожалуйста как отправить почту с использованием 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);
SmtpClient.Host := SmtpServer;
SmtpClient.Port := '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;
SmtpClient.EmailFiles := MFiles;
SmtpClient.Data;
SmtpClient.Quit;
SmtpClient.Abort;
SmtpClient.Free;
end;