function TMailen.SendeMail(MailEmpfaenger:
String;
const Betreff:
String;
const Anhang :
String) : boolean;
var
iAttachment : TIdAttachment;
begin
Form1.EdtStatus.Text := '
Connect';
Form1.EdtStatus.Refresh;
(* Connect mit Server *)
if not Mailen.IdSMTP1.Connected
then
begin
Mailen.IdSMTP1.AuthType := satDefault;
// simpler Login ohne Authentifizierung
Mailen.IdSMTP1.Host := MailServer;
Mailen.IdSMTP1.Port := MailPort;
Mailen.IdSMTP1.UseTLS := utUseRequireTLS;
// mit SSL
Mailen.IdSMTP1.Username := MailAbsender;
// Benutzername
Mailen.IdSMTP1.Password := MailPasswort;
// Passwort
// Verbinden mit Server
try
Mailen.IdSMTP1.Connect;
except
on E:
Exception do
begin
result := false;
Application.MessageBox (PChar(E.
Message),'
Verbindungsfehler Connect !',MB_OK);
Mailen.IdSMTP1.Disconnect;
exit;
end;
end;
end;
(* Mail erstellen *)
Form1.EdtStatus.Text := '
Mail erstellen: ' +DateiName;
Form1.EdtStatus.Refresh;
Mailen.IdMessage1.ContentType := '
multipart/*';
// mit Anhang!
iAttachment := TIdAttachmentFile.Create(Mailen.IdMessage1.MessageParts, Anhang);
Mailen.IdMessage1.Body.Add(MailBody);
// der eigentliche eMail -Text aus einem TMemo
Mailen.IdMessage1.Priority := TIdMessagePriority(2);
// Priorität
Mailen.IdMessage1.Recipients.EMailAddresses := MailEmpfaenger;
// Empfängeradresse
Mailen.IdMessage1.ReplyTo.EMailAddresses := MailAbsender;
// Anwortadresse
Mailen.IdMessage1.From.Text := MailAbsender;
// Absenderadresse
Mailen.IdMessage1.Subject := Betreff;
Form1.EdtStatus.Text := '
Mail senden: ' +DateiName;
Form1.EdtStatus.Refresh;
try
Mailen.IdSMTP1.Send(Mailen.IdMessage1);
except
on E:
Exception do
begin
result := false;
Application.MessageBox (PChar(E.
Message),'
Verbindungsfehler Versand !',MB_OK);
Mailen.IdSMTP1.Disconnect;
iAttachment.Free;
Mailen.IdMessage1.Clear;
exit;
end;
end;
iAttachment.Free;
Mailen.IdMessage1.Clear;
result := true;
Mailen.Close;
end;