Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IMAP emails auf attachment prüfen (https://www.delphipraxis.net/64423-imap-emails-auf-attachment-pruefen.html)

endeffects 3. Mär 2006 13:40


IMAP emails auf attachment prüfen
 
Hallo,

ich möchte mit meinem email client und den indys alle eingegangenen
nachrichten auf einem imap server auf einen anhang prüfen.

leider funktionieren dinge wie MessageParts.AttachmentCount
oder length(TheMsg.Headers.Values['X-Attachments']) > 0 irgendwie nicht.

oder stellt der imap server evtl selbst eine möglichkeit (flag) bereit?
hat vielleicht jemand eine idee wie ich das problem lösen kann?

Delphi-Quellcode:
            Inbox.RowCount := nCount + 1;
            for i := 0 to nCount-1 do begin
                TheImap.GetUID(i+1, TheUID);
                TheImap.UIDRetrieveFlags(TheUID, TheFlags);
                TheImap.UIDRetrieveHeader(TheUID, TheMsg);
                Inbox.Cells[0, i+1] := IntToStr(i+1);
                Inbox.Cells[1, i+1] := TheUID;
                if length(TheMsg.Headers.Values['X-Attachments']) > 0 then
                    Inbox.Cells[2, i+1] := 'yes'
                else
                    Inbox.Cells[2, i+1] := 'no';
                Inbox.Cells[3, i+1] := ' ' + LowerCase(TheMsg.Subject);
            end;

SirThornberry 3. Mär 2006 14:06

Re: IMAP emails auf attachment prüfen
 
hast du schon versucht die Komplette mail herunterzu laden ob es dann geht bzw. mal die Mail im klartext angeschaut ob man wirklich anhand des Headers feststellen kann ob ein Anhang dabei ist?

endeffects 3. Mär 2006 14:13

Re: IMAP emails auf attachment prüfen
 
hallo,

ich möchte ja nicht jede mail direkt runterladen,
ich möchte ja nur wissen welche der mails einen anhang hat.
der mail header selbst gibt keinen direkten aufschluss ob
ein anhang vorhanden ist, mal abgesehen von dem boundery kram.
aber der wird ja auch bei html mails mit eingefügten bildern
die nicht direkt als anhang vorhanden sind genutzt.

SirThornberry 3. Mär 2006 14:16

Re: IMAP emails auf attachment prüfen
 
genau, Outlook-Express zeigt zum Beispiel bei Mails die Bilder (html) drin haben auch das die Mail einen Anhang hat obwohl es eben nur Bilder innerhalb der Mail sind. Es gibt also vermutlich keine genaue diferenzierung was ein Anhang ist und was als Binärteil einer mail zu werten ist.

endeffects 3. Mär 2006 14:29

Re: IMAP emails auf attachment prüfen
 
hallo,

nagut dann bleibt mir wohl ersteinmal nichts anderes übrig
als die email-header auf den string 'multipart/mixed' zu prüfen.

Delphi-Quellcode:
                if SmartPos('multipart/mixed', TheMsg.ContentType, False, 1, True) > 0 then
                    Inbox.Cells[2, i+1] := 'yes'
                else
                    Inbox.Cells[2, i+1] := 'no';
wirklich toll ist die lösung irgendwie nicht :(


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