Hallo zusammen, ich hab ein kleines (großes) Problem. Ich habe ein Programm geschrieben, das eMails von einem IMAP konto abholt (mit der
indy Komponente idIMAP4) und anschließend verschiedene Daten in einer
DB speichert.
Bei manchen Mails bekomme ich allerdings den Fehler : "Unrecognized IMAP4 Response Header"
und das Programm stoppt in der Funktion TidIMAP4.TaggedReplyConvertToConst
Code:
procedure TIdIMAP4.TaggedReplyConvertToConst;
begin
case PosInStrarray(LastCmdResult.TextCode,VALID_TAGGEDREPLIES) of
0 : LastCmdResult.NumericCode := wsOK; {OK}
1 : LastCmdResult.NumericCode := wsNo; {NO}
2 : LastCmdResult.NumericCode := wsBAD; {BAD}
3 : LastCmdResult.NumericCode := wsPreAuth; {PREAUTH}
4 : LastCmdResult.NumericCode := wsBYE; {BYE}
5 : LastCmdResult.NumericCode := wsContinue;{+}
else
raise EIdException.Create(RSUnrecognizedIMAP4ResponseHeader);
end;
end;
eben in dem else Zweig. Statt 'OK', 'NO' etc steht zu diesem Zeitpunkt ein '--' oder '' in dem NumericCode. Scheinbar tritt dieser Fehler auf, wenn sich in der Mail die zeichenfolge ')' + [enter] befindet.
Hat jemand eine Idee woher dieser Fehler kommt? Und ob es mein Fehler oder eher ein Bug in der Komponente ist? Bin für jede Antwort dankbar.
EDIT : Hier noch der Callstack der letzten Aufrufe , wer was damit anfangen kann
Code:
main thread ($f98):
0082bc0c PEsDokuMail.exe IdIMAP4 4608 TIdIMAP4.TaggedReplyConvertToConst
00828946 PEsDokuMail.exe IdIMAP4 1043 TIdIMAP4.GetResponse
0082a10e PEsDokuMail.exe IdIMAP4 3010 TIdIMAP4.InternalRetrieve
008299db PEsDokuMail.exe IdIMAP4 2887 TIdIMAP4.Retrieve
0082a53d PEsDokuMail.exe IdIMAP4 3080 TIdIMAP4.RetrieveAllMsgs
008293c5 PEsDokuMail.exe IdIMAP4 1339 TIdIMAP4.SelectMailBox
00830322 PEsDokuMail.exe IMAPMailbox 232 TIMAPMailbox.CheckMail
0083070b PEsDokuMail.exe IMAPMailbox 411 TIMAPMailbox.Connect