Autor Beitrag
stiftmaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149



BeitragVerfasst: Do 24.01.08 00:05 
Hi Leute,

habe ein ernsthaftet Problem. Bis vor 3 Stunden lief alles normal - es wurde seit Tagen nichts verändert und auf ein Mal tritt ein mir absolut rätselhaftes Problem auf.

Ich habe ein Tool, was per POP3 E-Mails mit Anhang von einem Server abruft. Die Anhänge werden dann in einem Verzeichnis gespeichert. Wenn ich das Tool über Delphi 7 (oder 2006, das ist egal) starte, dann macht der alles wunderbar - so wie's sich auch gehört.

Das Tool läuft aber auch noch auf einem Server (schon seit über 2 Jahren). Doch heute raucht das Teil die ganze Zeit ab und nach längerer Debug-Zeit bin ich darauf gestoßen, dass

ausblenden Delphi-Quelltext
1:
IdPop3.Retrieve(ID, Message)					


eine Exception schmeißt. Die habe ich mir per Log-Datei ausgeben lassen. Dort steht folgendes drin:

Cannot create file "C:\Programme\MeinTool\Und hier jetzt der gesamte Body, wieso auch immer". Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

Die Frage ist natürlich: Wieso macht Retrieve auf einmal jetzt so n' *mist*e. Ich rall das echt nicht. Hat da von euch jemand n' Idee - bin absolut ratlos :-(

Vielen Dank für eure Mühen

Stefan

Moderiert von user profile iconNarses: Beiträge zusammengefasst

hier noch was mehr Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure ConnectToPop3Server(Value: Integer);
begin
  try
    IdPOP3 := TIdPOP3.Create(nil);
    IdPOP3.Host := MailItems[Value].Pop;
    IdPOP3.Username := MailItems[Value].User;
    IdPOP3.Password := MailItems[Value].Pwd;
    IdPOP3.Port := MailItems[Value].PopPort;
    IdPOP3.Connect();
  except
    ErrorCode := erCode_ConnectionProblemPopServer;
  end;
end;


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
    for I := 1 to IdPOP3.CheckMessages do
    begin
      MailMessage := TIdMessage.Create(nil);
      MailMessage.Clear;

      try
        IdPOP3.Retrieve(I, MailMessage);
      except
        on E: Exception do
        begin
          Writeln(E.Message); => hier kommt die Fehlermeldung raus
        end;
      end;

      LoadMessagesFromServer;
      LoadAttachements;

      IdPOP3.Delete(I);
    end;