![]() |
Fehlermeldung "Nicht erkannter Imap4 Response Header"
Hallo,
ich habe schon mal in einem anderen Forum angefragt, leider ohne Antwort. Vielleicht ist hier ein Freak dabei, der mir helfen kann. Danke schon mal. ich arbeite mich gerade in die Klasse TidImap4 ein ( Delphi 7):
Delphi-Quellcode:
nachricht := TIdMessage.Create(Self);
idImap41:=TIdIMAP4.create(nil); idImap41.Host := 'yyyy'; idImap41.Username:= 'muster'; idImap41.Password:= 'geheim'; if idImap41.ConnectionState = csAuthenticated then begin if IdIMAP41.SelectMailBox('inbox') then begin Memo1.Lines.Add('number of:' + IntToStr(idImap41.MailBox.TotalMsgs)); IdIMAP41.retrieve(1,nachricht); Memo1.Lines.Add('From: '+nachricht.Headers.Values['From']); Memo1.Lines.Add('To: '+nachricht.Headers.Values['To']); Memo1.Lines.Add('Subject: '+nachricht.Headers.Values['Subject']); end end idImap41.Disconnect; nachricht.Free; idImap41.destroy; es kommt immer die Fehlermeldung "Nicht erkannter Imap4 Response Header" Warum ?? Gruß RalfE |
AW: Fehlermeldung "Nicht erkannter Imap4 Response Header"
Hallo,
sorry für die Frage, scheint doch nicht so trivial zu sein. Muß ich mir eben was einfallen lassen. |
AW: Fehlermeldung "Nicht erkannter Imap4 Response Header"
Moin,
an welcher Stelle tritt die Fehlermeldung auf? (Ist sehr hilfreich um deine Frage zu beantworten)
Delphi-Quellcode:
Auffälligkeiten habe ich in dem Code mal kommentiert
nachricht := TIdMessage.Create(Self);
// Diese Zeile kommt mir spanisch vor // Ist idImap41 schon auf der Form deklariert? idImap41:=TIdIMAP4.create(nil); try idImap41.Host := 'yyyy'; idImap41.Username:= 'muster'; idImap41.Password:= 'geheim'; // ich sehe nirgendwo ein idImap41.Connect if idImap41.ConnectionState = csAuthenticated then begin if IdIMAP41.SelectMailBox('inbox') then begin Memo1.Lines.Add('number of:'*+ IntToStr(idImap41.MailBox.TotalMsgs)); IdIMAP41.retrieve(1,nachricht); Memo1.Lines.Add('From: '+nachricht.Headers.Values['From']); Memo1.Lines.Add('To: '+nachricht.Headers.Values['To']); Memo1.Lines.Add('Subject: '+nachricht.Headers.Values['Subject']); end; end; idImap41.disconnect; finally nachricht.Free; idImap41.Free; // nicht Destroy siehe Delphi Hilfe end; |
AW: Fehlermeldung "Nicht erkannter Imap4 Response Header"
Hallo,
Danke für Deine Antwort. so sieht der komplette Code aus:
Delphi-Quellcode:
Es kracht bei nachricht.Headers.Values['From'];
idImap41:=TIdIMAP4.create(nil);
nachricht := TIdMessage.Create(nil); idImap41.Host := 'yyyy'; idImap41.Username:= 'muster'; idImap41.Password:= 'geheim'; idImap41.Connect; if idImap41.ConnectionState = csAuthenticated then begin if idImap41.SelectMailBox('inbox') then begin idImap41.StatusMailBox('inbox',idImap41.MailBox,[mdRecent]); Memo1.Lines.Add('number of:' + IntToStr(idImap41.MailBox.TotalMsgs)); idImap41.retrieve(1,nachricht); Memo1.Lines.Add('From: '+nachricht.Headers.Values['From']); Memo1.Lines.Add('To: '+nachricht.Headers.Values['To']); Memo1.Lines.Add('Subject: '+nachricht.Headers.Values['Subject']); end end idImap41.Disconnect; FreeAndNil(nachricht); FreeAndNil(idImap41); Was auffällt der Aufruf idImap41.retrieve(1,nachricht), dauert sehr lange (fast 2 Minuten...) Mit Outlook oder Thunderbird klappt alles sehr schnell. Gruß RalfE |
AW: Fehlermeldung "Nicht erkannter Imap4 Response Header"
Hallo,
scheint doch irgendwie verzwickt zu sein. Ich muß eigentlich erstmal nur wissen, ob mein Versuch soweit richtig ist oder habe ich mit Delphi und den Indy-Komponenten "Schrott - fehlerhafte Komponenten" am Bein und ich muß nach Alternativen suchen. Wäre nett, wenn jemand dazu antworten könnte. Danke. Gruß RalfE |
AW: Fehlermeldung "Nicht erkannter Imap4 Response Header"
Hallo,
Dein Code ist soweit O.K, es liegt an den Indy Komponenten. Diese sind fehlerbehaftet, man braucht Nerven und Zeit. Kopf hoch DevBoy |
AW: Fehlermeldung "Nicht erkannter Imap4 Response Header"
Also da geht mit Indy ich hab das auch aber mein Code sieht anders aus
Delphi-Quellcode:
If IdIMAP41.SelectMailBox('INBOX') then
Begin IdIMAP41.CheckMailBox; End; x:=IdIMAP41.MailBox.TotalMsgs; SetLength(Datein,x); For i:=1 to x do Begin IdMsg.Clear; IdIMAP41.Retrieve(i,IdMsg); Datein[i-1]:=i; WriteLogFile(IdMsg.Subject,'New Mail'); WriteLogFile(IdMsg.Sender.Address,'New Mail'); for u:=0 to IdMsg.MessageParts.Count-1 do |
AW: Fehlermeldung "Nicht erkannter Imap4 Response Header"
Hallo,
oh Indy, oh Indy.... Folgende Formel: genügend Zeit + starke Nerven = Indy-Komponenten benutzen. Guckste hier:
Delphi-Quellcode:
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; Kopf hoch |
AW: Fehlermeldung "Nicht erkannter Imap4 Response Header"
GoogleMail?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz