Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Delphi 7, indy imap zeigen nur neue e-mails (https://www.delphipraxis.net/141673-delphi-7-indy-imap-zeigen-nur-neue-e-mails.html)

robert83a1 13. Okt 2009 20:19


Delphi 7, indy imap zeigen nur neue e-mails
 
Hallo Alle,

Ich habe das hier :

Delphi-Quellcode:
var status : string;
    n,nummsgs    : integer;
begin
 idImap41.Host := 'mail.xxxxxx.co.rs';
  idImap41.Username:= 'robert@xxxxxx.com';
  idImap41.Password:= 'xxxxxx';
  idImap41.Connect(5000);
  showMessage('Connected');
  if idImap41.ConnectionState = csAuthenticated then
    if IdIMAP41.SelectMailBox('inbox') then begin
      showMessage('unseen:'+IntToStr(idImap41.MailBox.UnseenMsgs));
      showMessage('recent:'+IntToStr(IdIMAP41.MailBox.RecentMsgs));
      end;

  nummsgs:=idImap41.MailBox.TotalMsgs;

  for n:=1 to nummsgs do begin
    idimap41.RetrieveHeader(n, idMessage1);
    if mfRecent in idMessage1.Flags then
      begin
        Memo1.Lines.Add( 'Email Nº:'+IntToStr(n)+
                         ' From :'+idMessage1.From.Text+
                         ' Subject :'+idMessage1.Subject);
      end;
   idMessage1.Clear;
  end;
 idImap41.Disconnect;
Mein problem ist, das es ziegt das ich habe 2 Recent Messages, aber es geht nie in die if mfRecent in idMessage1.Flags , warum ?

Robi

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

sx2008 13. Okt 2009 23:42

Re: Delphi 7, indy imap zeigen nur neue e-mails
 
Möglicherweise ein Off-By-One Fehler.
Delphi-Quellcode:
// for n:=1 to nummsgs do begin
// vielleicht muss die Schleife von 0 bis nummsgs-1 laufen?
for n:=0 to nummsgs-1 do begin

robert83a1 14. Okt 2009 01:09

Re: Delphi 7, indy imap zeigen nur neue e-mails
 
Hallo,

Danke, aber geht nich, ich habe das probiert, sagt das "There is no message with id 0" ( error ), Ich habe probiert,
von 1 bis nummsgs-1 geht auch nicht.


Ich habe was anderes probiert
Delphi-Quellcode:
     if mfRecent in idMessage1.Flags = false then
      begin
        Memo1.Lines.Add( 'Email Nº:'+IntToStr(n)+
                         ' From :'+idMessage1.From.Text+
                         ' Subject :'+idMessage1.Subject);
      end;
   idMessage1.Clear;
Zeigt alle mail-e , hmmm... vileicht ich vermisse was hier ? Ich glaube ich verstehe das hier noch nicht 100% .

Robi

[edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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