Einzelnen Beitrag anzeigen

Thomas Horstmann

Registriert seit: 25. Apr 2007
Ort: NRW
87 Beiträge
 
Delphi 12 Athens
 
#3

Re: Indy 10 - Fehler bei Bereichsprüfung?

  Alt 30. Aug 2007, 10:17
Hallo,
Indy10 hat leider an vielen Stellen "kleine Fehler", die einem das leben schwer machen. Daher würde ich mich über dieser Fehler nicht wundern. Das Abrufen von E-Mails klappte bei mir bislang aber problemlos. Mir ist aufgefallen, dass es oft Probleme mit der IdMessage Komponenten und Clear gibt. Besser mit Create und Free arbeiten.

Hoffe es hilft
Tom

Delphi-Quellcode:
...
with IdPOP do
  begin
  { Timeout setzen }
  ConnectTimeout := 10000 ;
  { Ggf. noch angemeldet, abmelden }
  if Connected then Disconnect ;

  { Parameter }
  Host := gMailPOPSER ;
  Port := gMailPOPPOR ;
  Username := gMailUSRNAM ;
  Password := gMailPASWRD ;

  { Anmelden }
    try
    Connect ;
    except
    on e:exception do
      begin
      { Abbrechen }
      Exit ;
      end ; // on e:exception
    end ; // try

  { Anzahl holen }
  iMailCount := CheckMessages ;

  { Schleife }
  for iLoop := 1 to iMailCount do
    begin
    { Speichern }
    SaveMailToFile(iLoop) ;
    end ; // for iLoop
  { Abmelden }
  Disconnect ;
  end ; // with IdPOP
...

--------------------

procedure TUN_MailLocal_Form.SaveMailToFile
( iMessageNumber : Integer ) ;
var
iMessage : TIdMessage ;
iFileName : String ;
begin
{ Message anlegen }
iMessage := TIdMessage.Create(Self) ;
iMessage.NoDecode := TRUE ;
iMessage.NoEncode := TRUE ;
iMessage.Clear ;
{ Abrufen }
IdPOP.Retrieve(iMessageNumber,iMessage) ;
{ Datei }
iFileName := 'C:\Temp\' + GetGUID + '.eml' ;
{ In Datei speichern }
iMessage.SaveToFile(iFileName,FALSE) ;
{ Vom Server löschen }
IdPOP.Delete(iMessageNumber) ;
{ Löschen }
iMessage.Free ;
end ;
  Mit Zitat antworten Zitat