Einzelnen Beitrag anzeigen

nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#8

Re: Problem mit Indy SMTP und Mailinglist

  Alt 3. Sep 2007, 21:03
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 ..... .
  Mit Zitat antworten Zitat