Umstieg von FastNet zu Indy = Probs
-
Ich gehe davon aus, dass du die Nachrichten nacheinander "retrieven" musst. Üblicherweise per Schleife, den Zähler (d.h. die Anzahl der Nachrichten) bekommst du ja über CheckMessages.
-
jo logisch.
leider hab ichs heut net mit der logik, produziere nur endlosschleifen.
hoffenltich heuts morgen hindo { ListView1->SelectAll(); TListItem *InsertItem = ListView1->Items->Insert(ListView1->Selected->Index +1); InsertItem->Caption = Message->From->Text; InsertItem->SubItems->Add(Message->Subject); } while(POP3->Retrieve(POP3->CheckMessages(), Message));Frohe Weihnachten
-
int mcount = POP3->CheckMessages(); for (int i = 0; i < mcount; i++) { POP3->Retrieve(i, Message); ... }
-
ok dein wink mit dem zaunpfal war schon mal gut denk ich. denoch wird immer noch nur eine mail runter geladen
POP3->Connect(); POP3->CheckMessages(); POP3->RetrieveMailBoxSize(); ListView1->SelectAll(); int mcount = POP3->CheckMessages(); for(int i = 0; i < mcount ; i++) { POP3->Retrieve(i, Message); TListItem *InsertItem = ListView1->Items->Insert(ListView1->Selected->Index +i); InsertItem->Caption = Message->From->Text; InsertItem->SubItems->Add(Message->Subject); } POP3->Disconnect();kannst mir gerne mit dem zaunpfahl schlagen *g*
-
PS: manchmal wir die selbe mail doppelt angezeigt

-
Habe jetzt und die nächsten Tage keine Zeit, das zu testen, deshalb zumindest der Hinweis auf die Beipielprojekte, die du auf der Indy-Downloadseite findest. Dort gibt es auch mehrere Mail-Clients, und ja, der BCB kann Pascal-Dateien anzeigen.
FF
-
das ist mir bekannt, die hab ich runtergeladen. naja werd ich sie mir nochmal anschauen, vielleicht ha ich was über sehen.
-
Nachdem abholen und ausgeben der Daten mußt Du ein
Msg->Clear();einfügen, dann geht es einwandfrei.
Mfg und Frohe Weihnachten wünscht allen
Andidreas
-
ne sorry geht auch nciht. könnte das an der indy Version 8 liegen?
verstehs net mehr
-
Weiß ich nicht hab mir vorhin die 9x runtergeladen.
So siehts bei mir aus:pop->Connect(0); int NumMessages = pop->CheckMessages(); for (; NumMessages > 0; NumMessages--) { pop->Retrieve(NumMessages, Msg); Memo1->Lines->Add(Msg->From->Text + " " + Msg->Subject); Msg->Clear(); } pop->Disconnect();
-
ne also das funzt absolut garnet bei mir.
erster fehler ist beipop->Connect(0);wegen der 0, wenn ich die raus mache gehts dann kommt aber eine Fehlermeldung, irgendwas mit Gracefully disconnectet...
ist doch kacke

-
Wenn ich die 0 nicht setze meckert er über zuwenige Parameter. Aber wie gesagt ich hab die 9er Version. Solltest Du Dir vielleicht auch mal runterladen.
Andidreas
-
Nö, das ist keine Fehlermeldung, nur ne Exception. Versuch doch mal "Gracefully disconnected" zu übersetzen! Dann merkst du, es ist alles ok.
-
wieso beendet er das programm wenn alles ok ist?
bei mir gehts net mit 0, mekert es wären zu viele parameter.indy 9 runtergeladen, installation peil ich net..war ja klar
-
so habs hinbekommen!!!
POP3->Connect(); POP3->CheckMessages(); POP3->RetrieveMailBoxSize(); int mcount = POP3->CheckMessages(); if(mcount > 0) { for (; mcount > 0; mcount--) { POP3->Retrieve(mcount, Message); TListItem *InsertItem = ListView1->Items->Add(); InsertItem->Caption = Message->From->Text; InsertItem->SubItems->Add(Message->Subject); InsertItem->SubItems->Add(Message->Date); Message->Clear(); } } POP3->Disconnect();
-
Hi
Du kannst unter Menüpunkt Tools->Debugger Options->Language Exceptions->Add EIdConnClosedGracefully einfügen, damit die IDE nicht mehr auf diese Exception reagiert, abfangen kannst du sie weiterhin mit try/catch.
mfg pera
-
danke, ist aber nicht mehr nötig da es ja jetzt wunderbar klappt!
-
Welche BCB-Version benutzt Du? Wenn BCB 6 dann mußt Du bevor Du Indy 9 einbindest die im BCB 6 vorhandene Indy Version deinstallieren (über Setup CD). Dann kansst Du die neue Version einbinden. Im Verzeichnispfad muß Indy vor RTL stehen, sonst gibt es Probleme.
Mfg und Guten Rutsch
Andidreas
-
Danke für den hinweiß, werd ich irgendwann mal probieren. Funzt ja jetzt mit der alten Version, also lass ichs erstmal

ebenfalls guten rutsch!
-
Hab au ne Anwendung bei der ich die emails abrufen will,
allerdings bekomm ich bei jedem Email-Account den ich angebe (z.b pop3.web.de) immer den Fehler,dass die Funktion CheckMessages(),
die ja eigentlich die Anzahl der Mails in meinem Acc zurückgeben sollte, irgendeinen String zurückgibt (im oberen Beispiel wäre das "web.de") und da krieg ich immer den Fehler es sei kein gültiger int-wert...Woran kann das liegen?