Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi probleme beim abholen von emails (https://www.delphipraxis.net/41003-probleme-beim-abholen-von-emails.html)

Harry M. 24. Feb 2005 13:22


probleme beim abholen von emails
 
hallo leutz

habe probleme beim abholen von emails

dazu habe ich folgenden code aus dem indy demo (aber nicht ganz vollstanändig übernommemm) weil ich nicht alle labels usw habe. wenn ich das prog starte werden alle neuen email in einer listview ausgegeben, wenn ich aber dann mit doppelklick auf eine mail zugreifen will, kommt in der taskleiste das email-icon mit der lupe, aber im meinem memo steht kein text. weiß jemand woran das liegt??http://www.smiliearchiv.com/smilies/...omputer_23.gif

Delphi-Quellcode:
procedure TForm1.ListView1DblClick(Sender: TObject);
var
   stTemp: string;
   intIndex: Integer;
   li: TListItem;
begin
    //RetrieveExecute(Sender);
   stTemp := Statusbar1.Panels[1].text;
   if ListView1.Selected = nil then
      begin
         Exit;
      end;
   //initialise
   IdMessage1.Clear;
   Memo1.Clear;
   ListView2.Items.Clear;

   IdPOP3.Retrieve(ListView1.Selected.Index+1, IdMessage1);


  for intIndex := 0 to Pred(IdMessage1.MessageParts.Count) do begin
         if (IdMessage1.MessageParts.Items[intIndex] is TIdAttachment) then begin //general attachment
               //pnlAttachments.visible := true;
               li := Listview2.Items.Add;
               li.ImageIndex := 8;
               li.Caption := TIdAttachment(IdMessage1.MessageParts.Items[intIndex]).Filename;
               li.SubItems.Add(TIdAttachment(IdMessage1.MessageParts.Items[intIndex]).ContentType);
            end
         else begin //body text
               if IdMessage1.MessageParts.Items[intIndex-1] is TIdText then
                  begin
                     Memo1.Lines.Clear;
                     Memo1.Lines.AddStrings(TIdText(IdMessage1.MessageParts.Items[intIndex]).Body);
                  end
            end;
      end;
end;
gruß delphicus

IngoD7 24. Feb 2005 13:52

Re: probleme beim abholen von emails
 
Delphi-Quellcode:
if IdMessage1.MessageParts.Items[intIndex-1] is TIdText then
intIndex-1 ??? Wieso -1 ?

Harry M. 24. Feb 2005 13:59

Re: probleme beim abholen von emails
 
war wohl noch von versuchen dring geblieben. habe es jetzt mal rausgenommen ist aber das gleiche emailicon im tary aber kein text in memo

IngoD7 24. Feb 2005 14:07

Re: probleme beim abholen von emails
 
Hast das Programm mal per SingleStep laufen lassen oder mit Haltepunten getestet? Läuft es korrekt die is-TIdText-Abfrage durch?

Harry M. 24. Feb 2005 14:17

Re: probleme beim abholen von emails
 
ich habe jetzt mal bei
Delphi-Quellcode:
if (IdMessage1.MessageParts.Items[intIndex] is TIdAttachment)
und bei
Delphi-Quellcode:
if IdMessage1.MessageParts.Items[intIndex] is TIdText
einen haltepunt gemacht (so das es rotmarkiert ist). das programm hält dort aber nicht an sollte es doch aber wenn die schleife richtig ist oder jedefalls bekomme ich eine meldung (im singelstep) bei
Delphi-Quellcode:
for intIndex := 0 to Pred(IdMessage1.MessageParts.Count) do begin
und dann springt er zum ende

IngoD7 24. Feb 2005 19:09

Re: probleme beim abholen von emails
 
Dann findet er keine MessageParts in deiner IdMessage1, so dass er nie in die Schleife reinkommt. Klare Sache. Versuche zu ergründen, warum da nichts drin steht. Ruft dein IdPop3.Retrieve überhaupt die richtige Mail korrekt ab?

Hast du folgendes aus der Hilfe beachtet?
Zitat:

MessageParts is used when IsEncoded is set to True (on sending), or NoDecode is set to false for receiving.

Harry M. 25. Feb 2005 11:39

Re: probleme beim abholen von emails
 
die richtigen IsEncoded / NoDecode einstellung hatte ich gesetzt bzw waren standartmässig so eingestellt. das problem konnt ich nicht beheben. ich habe dan den code ersetzt.
Delphi-Quellcode:
var
   Mail : TIdMessage;

  Mail := TIdMessage.Create(Self);
  if IDPop3.CheckMessages > 0 then begin
    Memo1.Lines.Clear;
    IDPop3.Retrieve(ListView1.Selected.Index,Mail);
    Memo1.Lines := Mail.Body;
  end;
den code habe ich hier http://www.delphi-forum.de/viewtopic...hlight=tidtext gefunden

IngoD7 26. Feb 2005 09:25

Re: probleme beim abholen von emails
 
Zitat:

ich habe dan den code ersetzt.
Ähm ... jo ... und nun? Geht's jetzt?

Harry M. 26. Feb 2005 11:30

Re: probleme beim abholen von emails
 
jo jetzt geht es

IngoD7 26. Feb 2005 14:25

Re: probleme beim abholen von emails
 
Zitat:

Zitat von delphicus
jo jetzt geht es

Bei reinen Textmails.
Auch wenn Anhänge dabei sind?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 Uhr.
Seite 1 von 2  1 2      

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