AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TIdMessage (Indy) Flags setzen

Ein Thema von Towmuz · begonnen am 24. Okt 2017 · letzter Beitrag vom 25. Okt 2017
Antwort Antwort
Towmuz

Registriert seit: 21. Sep 2016
Ort: Minden
127 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

TIdMessage (Indy) Flags setzen

  Alt 24. Okt 2017, 12:18
Delphi-Version: 10 Berlin
Tag auch,

ist es irgendwie möglich sowas hier zu veranstalten?

Delphi-Quellcode:
    MailReader := TIdMessage.Create;
    MailReader.LoadFromFile(Filename);
    ... mach was mit der Mail ...
    MailReader.Flags := {MailReader.Flags + }[mfSeen];
    MailReader.SaveToFile(Filename);
Also Maildatei (eml) von der Platte lesen und auf erledigt setzen, damit sie vom Programm als "schon bearbeitet" erkannt werden kann beim nächsten Durchlauf.

Der Ablauf oben läuft ohne Fehler und die Mail wird auch neu gespeichert, die Flags allerdings nicht. Warum?
Thomas
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#2

AW: TIdMessage (Indy) Flags setzen

  Alt 24. Okt 2017, 13:20
SaveToFile speichert nur die Mailheader und (optional) den Mailbody ab. Flags sind nicht darin enthalten.
Eine Lösung wäre, die SaveToFile Methode durch eine andere zu ersetzen, die auch weitere Informationen speichert. Dann muss LoadFromFile natürlich auch passend gemacht werden.
Michael Justin
  Mit Zitat antworten Zitat
Towmuz

Registriert seit: 21. Sep 2016
Ort: Minden
127 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: TIdMessage (Indy) Flags setzen

  Alt 24. Okt 2017, 14:20
Wie funktioniert das denn regulär das eine Mail als gelesen markiert wird? Ist das was Serverseitiges? (Kein Plan von dem Thema)
Dieses SaveToFile umschreiben scheint mir ein enormer Aufwand zu sein
Thomas
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#4

AW: TIdMessage (Indy) Flags setzen

  Alt 24. Okt 2017, 14:32
Wie funktioniert das denn regulär das eine Mail als gelesen markiert wird? Ist das was Serverseitiges? (Kein Plan von dem Thema)
Dieses SaveToFile umschreiben scheint mir ein enormer Aufwand zu sein
Im Internet fand ich den Hinweis, dass dieses Flag von IMAP verwendet wird. In diesem Fall ist es serverseitig, d.h. der Client erfährt nach dem Abrufen der Nachricht, welche Flags diese bereits hat. Flags kann aber auch beliebig clientseitig verwendet / gesetzt werden. Daher heisst es auch ganz allgmein "Flags" (und nicht z.B. IMAPFlags).
Michael Justin
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: TIdMessage (Indy) Flags setzen

  Alt 24. Okt 2017, 14:48
Soweit ich weiß, wird in der Regel die Verwaltung der Flags für gelesen ... vom Client übernommen.

Wenn Du z. B. von verschiedenen Rechnern mit unterschiedlichen Clients auf das gleiche Postfach zugreifst, wirst Du feststellen, dass die Anzeige der Gelesenmarkierung von Client zu Client abweicht.

Auch eine per Webinterface gelesene und entsprechend markierte Mail enthält im Client nicht die Gelesenmarkierung. Dito. umgekehrt.

Etwas überspitzt formuliert:

Man muss je Client alles lesen, egal wie oft man es woanders schon gelesen hat.

Bei IMAP mag das anders sein, wenn es von allen Clients unterstützt wird.
  Mit Zitat antworten Zitat
Towmuz

Registriert seit: 21. Sep 2016
Ort: Minden
127 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: TIdMessage (Indy) Flags setzen

  Alt 25. Okt 2017, 07:05
Ok dann anders gefragt.
Wie kann ich mit Delphi diese Flags setzen?
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:40 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