[DUG] Email/SMTP code
David O'Brien
Dave at iccs.co.nz
Tue Jul 12 14:01:33 NZST 2011
Wrote this a while ago, but still works...
procedure SendEmail(msgFrom, msgTo, msgSubject: String; msgBody:
TStringList; Attachments: TStringList) ;
var
IdMessage: TIdMessage;
SMTP: TIdSMTP;
t: TDateTime ;
i: Integer ;
begin
try
if ASettings.SMTPServer <> '' then
begin
SMTP := TidSMTP.Create(nil) ;
IdMessage := TIdMessage.Create(SMTP);
try
idMessage.Clear ;
idMessage.From.Address := msgFrom ;
idMessage.Recipients.Add.Address := msgTo ;
idMessage.Subject := msgSubject ;
if pos('<html', lowercase(msgBody.Text)) <> 0 then
idMessage.ContentType := 'text/html' ;
if msgBody <> nil then
IdMessage.Body.Assign(msgBody) ;
t := now ;
while (SMTP.Connected) and
(now < t + 10 * (1/86400)) do // 10 Seconds
sleep(10) ;
if Assigned(Attachments) then
for i := 0 to pred(Attachments.Count) do
TIdAttachmentFile.Create(IdMessage.MessageParts,
Attachments[i]) ;
SMTP.Host := ASettings.SMTPServer ;
SMTP.Port := ASettings.SMTPPort ;
SMTP.Username := ASettings.Username ;
SMTP.Password := ASettings.Password ;
SMTP.Connect ;
try
SMTP.Send(idMessage) ;
finally
SMTP.Disconnect ;
end ;
finally
SMTP.Free ;
IdMessage.Free ;
end;
end;
except
EmailFailed := True ;
end ;
end ;
From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz]
On Behalf Of John Bird
Sent: Tuesday, 12 July 2011 1:47 p.m.
To: NZ Borland Developers Group - Delphi List
Subject: [DUG] Email/SMTP code
Anyone got a recommendation for the best (free) code/samples to drive
Indy10 for sending an email with attachment
-Indy10.2.3
-Send attachment
-SMTP server and email addresses will be known
I have tried a couple (eg AtoZed SendMail example) but it seems to time
out connecting to the SMTP
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20110712/fe842762/attachment-0001.html
More information about the Delphi
mailing list