AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Delphi 8.0 , Indy und POP.retrieve PROBLEM
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 8.0 , Indy und POP.retrieve PROBLEM

Ein Thema von Samashy · begonnen am 26. Feb 2004 · letzter Beitrag vom 3. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Samashy
Samashy

Registriert seit: 20. Feb 2004
Ort: Cottbus
127 Beiträge
 
Delphi 10.4 Sydney
 
#1

Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 10:50
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.

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... Was mache ich denn falsch?

Romy
Miniaturansicht angehängter Grafiken
fehlermeldung_178.jpg  
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 12:13
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
  Mit Zitat antworten Zitat
Benutzerbild von Samashy
Samashy

Registriert seit: 20. Feb 2004
Ort: Cottbus
127 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 13:17
Danke für Deine Hilfe, aber leider kommt der Fehler beim POPi.Retrieve(i, Nachricht); Habe ich beim Deklarieren der TIdMessage Komponente was falsch gemacht?
  Mit Zitat antworten Zitat
AnTiPrimaTe

Registriert seit: 26. Feb 2004
Ort: Krefeld
36 Beiträge
 
#4

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 18:19
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ß
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 18:28
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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
AnTiPrimaTe

Registriert seit: 26. Feb 2004
Ort: Krefeld
36 Beiträge
 
#6

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 18:38
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.
  Mit Zitat antworten Zitat
Benutzerbild von Samashy
Samashy

Registriert seit: 20. Feb 2004
Ort: Cottbus
127 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 19:22
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.


Romy
  Mit Zitat antworten Zitat
AnTiPrimaTe

Registriert seit: 26. Feb 2004
Ort: Krefeld
36 Beiträge
 
#8

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 19:47
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?
  Mit Zitat antworten Zitat
Benutzerbild von Samashy
Samashy

Registriert seit: 20. Feb 2004
Ort: Cottbus
127 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 19:53
Wäre ja echt kraß, wenn Retrieve... eigentlich die wichtigste Methode einen Bug hätte!
  Mit Zitat antworten Zitat
AnTiPrimaTe

Registriert seit: 26. Feb 2004
Ort: Krefeld
36 Beiträge
 
#10

Re: Delphi 8.0 , Indy und POP.retrieve PROBLEM

  Alt 26. Feb 2004, 19:55
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz