Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Delphi 8.0 , Indy und POP.retrieve PROBLEM (https://www.delphipraxis.net/16953-delphi-8-0-indy-und-pop-retrieve-problem.html)

Samashy 26. Feb 2004 09:50


Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe folgendes Problem... ich möchte gern im Delphi 8.0 NET ein kleines Programm schreiben, welches EMails abholt und den Anhang in ein bestimmtes Verzeichnis packt und die EMails vom Server entfernt. :lol:

Delphi-Quellcode:
procedure Thauptform.Button1Click(Sender: TObject);
var i,a,x:integer;
nachricht:TIdMessage;
begin
 TRY
   screen.Cursor:=crHourglass;
   nachricht:=TIdMessage.Create(nil);
   POPi.Host := 'xxxxxxxxxxxxx';
   POPi.Username := 'xxxxxxxxxxxxxxxxxx';
   POPi.Password := 'xxxxxxxxxxxx';
   try
        POPi.Connect;
        x:=POPi.CheckMessages;
        for i := 1 to x do begin      
          POPi.Retrieve(i, Nachricht);
          for a:= 0 to Nachricht.MessageParts.Count do
          begin
              IF (Nachricht.MessageParts.Items[a] is TIdAttachment) then
               TIdAttachment(Nachricht.MessageParts.Items[a]).SaveToFile
               (TIdAttachment(Nachricht.MessageParts.Items[a]).filename);
          end;
          Nachricht.Clear;
        end;
   finally
        POPi.Disconnect;
        nachricht.free;
   end;
   screen.Cursor:=crDefault;
 except
       on E: Exception do begin
        screen.Cursor:=crDefault;
        showmessage(E.Message)
       end
 end
Die Fehlermeldung ist im Anhang... :cry: Was mache ich denn falsch?

Romy

Robert_G 26. Feb 2004 11:13

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Vielleicht so:
Delphi-Quellcode:
  ...
        for i := 0 to pred(x) do
        begin      
          POPi.Retrieve(i, Nachricht);
          for a:= 0 to pred(Nachricht.MessageParts.Count) do

Samashy 26. Feb 2004 12:17

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Danke für Deine Hilfe, aber leider kommt der Fehler :cry: beim
Delphi-Quellcode:
POPi.Retrieve(i, Nachricht);
Habe ich beim Deklarieren der TIdMessage Komponente was falsch gemacht? :wall:

AnTiPrimaTe 26. Feb 2004 17:19

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Hallo,
was ist denn wenn POPi.CheckMessages eine "0" liefert?
Liegen denn im Postfach irgendwelche Mails?
Ich würde in die for-Schleife nur dann gehen, wenn x>0 ist.

Gruß

mirage228 26. Feb 2004 17:28

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
eine for-to-schleife wird nicht ausgeführt, wenn der 2te wert kleiner als der erste ist. (für sowas ist ja eine for-downto-schleife da)

mfG
mirage228

AnTiPrimaTe 26. Feb 2004 17:38

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
stimmt. Da habe ich nicht mal wieder nicht zu Ende gedacht.
Also ich habe schon mit Indy gearbeitet,
kenne das Fehlerbild so nicht.
Was aber immer hilft, mit Telnet (oder Outlook) auf den POP3-Server
zu gehen, und mal schauen, ob die Mails da tatsächlich liegen.

Zweiter Vorschlag, beim constructor von TIdMessage nen Component zu übergeben.
Wir machen das so.

Samashy 26. Feb 2004 18:22

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Die Email liegt da. Benutzt man popi.retrieveHeaders, zeigt er sie mir an! Ich habe die Messagekomponente auch schon mal einfach auf die Form gelegt. Gleiches Problem.

:cry:
Romy

AnTiPrimaTe 26. Feb 2004 18:47

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
also ich hatte schon öfter mit Indy Probleme,
machmal waren das einfach Bugs in Indy selbst,
ich musste schon mal die Sources von Indy anpacken.
Versuch mal mit dem Debugger in Indy-Units zu gehen.
hast Du auf der Indy-Seite mal geschaut?

Samashy 26. Feb 2004 18:53

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Wäre ja echt kraß, wenn Retrieve... eigentlich die wichtigste Methode einen Bug hätte! :|

AnTiPrimaTe 26. Feb 2004 18:55

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Es kann daran liegen, dass Du einen "exotischen" POP3-Server einsetzt,
dann kann schon mal der Parser auf die Schnauze fallen.
Auf was für einen Server connectest Du denn?

Samashy 26. Feb 2004 18:57

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Strato :oops:

AnTiPrimaTe 26. Feb 2004 18:59

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Probier mal mit einem anderem POP3-Server,
wenn es dann geht, weiß du Bescheid,
wenn nicht - die Suche geht weiter :-(

Samashy 1. Mär 2004 12:13

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also mit einem anderen Server geht es auch nicht. :?
Kann jemand mal generell ausprobieren, ob bei ihm EMails mit dem Delphi 8.0 Architect geholt werden können? 8)

Danke!!!!
Romy

Im Anhang übrigens die neue Fehlermeldung vom anderen Server! :gruebel:

Samashy 3. Mär 2004 10:14

Kann jemand mal mit Delphi 8.0 und Indy Post holen???
 
HILFEEEE! Kann denn keiner helfen??? :roll:

Könnte bitte jemand mit Delphi 8.0 Architect mal das EMailabholen ausprobieren??

Bitte, bitte!!! :lol:

Romy

AnTiPrimaTe 3. Mär 2004 10:44

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Sorry, hab Delphi 7 im Einsatz.
Kannst du nicht das mal umdrehen und selbst mit 7 ausprobieren?
Kenn die 8 nicht, ist ne portierung auf 7 möglich?

Samashy 3. Mär 2004 10:50

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Das nutzt mir dann doch nix... :?

Ich soll doch mit 8 programmieren!!! :gruebel:

AnTiPrimaTe 3. Mär 2004 10:54

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Ja, aber dann würdest du feststellen, ob Indy nut mit der Delphi 8 Probleme macht
oder du ein anderes Problem hast.

Samashy 3. Mär 2004 10:56

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM
 
Die Versionen von Indy sind bei 7 und 8 unterschiedlich! :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 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-2025 by Thomas Breitkreuz