So hier mal die überarbeitet Version. Musst es warscheinlich noch anpassen.
Delphi-Quellcode:
function SendNews(AddressFiles:
String; Host:
String; Port: Integer;
EmailMsg:
String; Subject:
String): Boolean;
var
mailList: TStringList;
mess: TIdMessage;
addressitem: TIdEMailAddressItem;
i: Integer;
idsmtpclient: TIdSMTP;
begin
Result := False;
// Liste Init
mailList := TStringList.Create;
// Prüfen ob Datei gefunden wurde
if not FileExists(AddressFiles)
then
begin
raise Exception.Create('
Datei nicht gefunden');
Exit;
end;
// Datei in die Liste LAden
mailList.LoadFromFile(AddressFiles);
// IdMess erstellen (Email Schablone)
mess := TIdMessage.Create(
nil);
// Liste dürchgehen und in die Email Schablone eintragen
for i := 0
to mailList.Count - 1
do
begin
// PRüfen ob die Mail Adresse ok ist
if Pos('
@', mailList.Strings[i]) > 0
then
begin
// Neues Item in die Mailschablone hinzufügen
addressitem := mess.Recipients.Add;
// Adresse ins Item eintragen
addressitem.Address := mailList.Strings[i];
end;
end;
// Thema setzten
mess.Subject := Subject;
// Inhalt setzten
mess.Body.Add(EmailMsg);
// Update die Quell Adresse
mess.From.Address := '
Deine Email';
// SMTP Client erstellen
idsmtpclient := TIdSMTP.Create(
nil);
try
try
// Ziel Setzten
idsmtpclient.Host := Host;
idsmtpclient.Port := Port;
// Verbinden
idsmtpclient.Connect;
// Senden
idsmtpclient.Send(mess);
// Trennen
idsmtpclient.Disconnect;
except
raise Exception.Create('
Fehler beim Senden.');
end;
Result := True;
finally
idsmtpclient.Free;
end;
mess.Free;
mailList.Free;
end;
Programmieren ..... .