Difference between revisions of "TSmtpCli.OnRequestDone"
Jump to navigation
Jump to search
| Line 13: | Line 13: | ||
== Examples == | == Examples == | ||
| + | This is a sample of how to handle a common set of responses. LogMsg method is just a call to a procedure that output information visually in a memo. | ||
| + | if (error > 0) then | ||
| + | begin | ||
| + | logMsg('Service Error occured RqType:'+inttostr(integer(RqType))+' Error:'+vartostr(error)); | ||
| + | Exit; | ||
| + | end; | ||
| + | |||
| + | if RqType = smtpConnect then | ||
| + | begin | ||
| + | logMsg('Sending HELO'); | ||
| + | Smtp.Helo | ||
| + | end | ||
| + | else | ||
| + | if RqType = smtpOpen then | ||
| + | begin | ||
| + | //open is easiest to use when you have the need for authentication | ||
| + | logMsg('smtOpen, sending MailFrom'); | ||
| + | Smtp.MailFrom; | ||
| + | end | ||
| + | else | ||
| + | if RqType = smtpHelo then | ||
| + | begin | ||
| + | logMsg('Sending from'); | ||
| + | Smtp.MailFrom; | ||
| + | end | ||
| + | else | ||
| + | if RqType = smtpMailFrom then | ||
| + | begin | ||
| + | logMsg('Sending to'); | ||
| + | Smtp.RcptTo; | ||
| + | end | ||
| + | else | ||
| + | if RqType = smtpRcptTo then | ||
| + | begin | ||
| + | logMsg('Sending data'); | ||
| + | Smtp.Data; | ||
| + | end | ||
| + | else | ||
| + | if RqType = smtpData then | ||
| + | begin | ||
| + | //here you need to generate the e-mail, and trigger more... | ||
| + | if SendEmailQryEMAILID.AsString <> '' then | ||
| + | begin | ||
| + | logMsg('Sending next email'); | ||
| + | generateSingleEmail; //a procedure i use to create my e-mail | ||
| + | Smtp.MailFrom; | ||
| + | end | ||
| + | else | ||
| + | begin | ||
| + | logMsg('No more email to send, quitting.'); | ||
| + | Smtp.Quit | ||
| + | end; | ||
| + | end | ||
| + | else | ||
| + | if RqType = smtpQuit then | ||
| + | begin | ||
| + | logMsg('SMTP connection closed'); | ||
| + | end; | ||
== Best practices == | == Best practices == | ||
''nothing yet'' | ''nothing yet'' | ||
Revision as of 13:54, 23 September 2007
Main page -> ICS components reference -> TSmtpCli -> OnRequestDone
Definition
procedure (Sender: TObject; RqType: TSmtpRequest; ErrCode: Word) of object;
- Sender : the client which fired the event
- RqType : type of the request.
- ErrCode : error code for the request. If it is 0, there was no error.
Description
This event will fire when the server has sent a response for your request and all data transfers has been done.
Examples
This is a sample of how to handle a common set of responses. LogMsg method is just a call to a procedure that output information visually in a memo.
if (error > 0) then
begin
logMsg('Service Error occured RqType:'+inttostr(integer(RqType))+' Error:'+vartostr(error));
Exit;
end;
if RqType = smtpConnect then
begin
logMsg('Sending HELO');
Smtp.Helo
end
else
if RqType = smtpOpen then
begin
//open is easiest to use when you have the need for authentication
logMsg('smtOpen, sending MailFrom');
Smtp.MailFrom;
end
else
if RqType = smtpHelo then
begin
logMsg('Sending from');
Smtp.MailFrom;
end
else
if RqType = smtpMailFrom then
begin
logMsg('Sending to');
Smtp.RcptTo;
end
else
if RqType = smtpRcptTo then
begin
logMsg('Sending data');
Smtp.Data;
end
else
if RqType = smtpData then
begin
//here you need to generate the e-mail, and trigger more...
if SendEmailQryEMAILID.AsString <> then
begin
logMsg('Sending next email');
generateSingleEmail; //a procedure i use to create my e-mail
Smtp.MailFrom;
end
else
begin
logMsg('No more email to send, quitting.');
Smtp.Quit
end;
end
else
if RqType = smtpQuit then
begin
logMsg('SMTP connection closed');
end;
Best practices
nothing yet