procedure p_MailSender;
begin
{-------------------------------------------------------------------------------
meine Variablen:
sMailUser : String; // name@domain
sMailPwd : String; // pwd von name@domain
sMailSender : String; // wird nicht benötigt ("im Auftrage von")
sMailFrom : String; // DerGärtner@Domain.de
sMailRecipients : String; // Empfängerliste
sMailCCList : String; // CC Empfängerliste
sMailBCCList : String; // BCC Empfängerliste
sMailHost : String; // Host ID
iMailPort : Integer; // Host Port (25)
MailMessage.Priority := mpNormal;
sMailSubject : String; // Betrefftext
sMailBody : String; // Mail Text
sMailAttach : String; // Dateiname und -Pfad Anlage
-------------------------------------------------------------------------------}
var
MailMessage : TidMessage;
Anhang : TIdAttachment;
begin
try
try
MailMessage := TidMessage.Create();
// UM DEM PROBLEM MIT DEN ANHÄNGEN bei zukommen
MailSmtp.Username := sMailUser;
// name@domain
MailSmtp.Password := sMailPwd;
// pwd von name@domain
// MailMessage.Sender.Address := sMailSender; // wird nicht benötigt ("im Auftrage von")
MailMessage.From.Address := sMailFrom;
// DerGärtner@Domain.de
MailMessage.Recipients.EMailAddresses := sMailRecipients;
// Empfängerliste
MailMessage.CCList.Clear;
MailMessage.CCList.EMailAddresses := sMailCCList;
// CC Empfängerliste
MailMessage.BCCList.Clear;
MailMessage.BCCList.EMailAddresses := sMailBCCList;
// BCC Empfängerliste
MailSmtp.Host := sMailHost;
MailSmtp.Port := iMailPort;
MailMessage.Priority := mpNormal;
MailMessage.Subject := sMailSubject;
MailMessage.Body.Add(sMailBody);
// Anhänge: Uses Klausel: IdAttachment, IdMessageParts, IdAttachmentFile;
// Anhang definieren in: VAR Anhang : TIdAttachment;
MailMessage.MessageParts.Clear;
if sMailAttach <> '
'
then
Anhang := TidAttachmentFile.Create(MailMessage.MessageParts, sMailAttach);
MailSmtp.Connect;
MailSmtp.Send(MailMessage);
MailSmtp.Disconnect(true);
except
on E :
Exception do // EIdSmptException do //EIdException do
begin
Showmessage('
Fehler: ' + E.
Message);
end;
end;
finally
// um Fehler zu vermeiden: Mailer abhängen und "alte" Anhänge löschen
MailSmtp.Disconnect(true);
MailMessage.MessageParts.Clear;
MailMessage.Destroy;
ShowMessage('
finally');
end;
end;