2016-09-29 1 views
0

When I mark the message in this wayComment puis-je obtenir la poste Signalé échange

J'utilise la méthode

 
var uids= folder.Search(SearchQuery.DeliveredAfter(DateTime.Parse("2016-9-29")).And(SearchQuery.Flagged)); 

ne peut pas obtenir le courrier signalé, mais quand j'utiliser la méthode

folder.AddFlags(new UniqueId(1693), MessageFlags.Flagged, false); 
folder.Expunge();
le courrier sera marqué et quand je l'utilise la méthode

var uids= folder.Search(SearchQuery.DeliveredAfter(DateTime.Parse("2016-9-29")).And(SearchQuery.Flagged));

Je peux aller chercher le courrier signalé, je ne sais pas pourquoi, et comment puis-je obtenir le courrier signalé?

Répondre

0

Vous associez 2 façons différentes de "signaler" un message. Outlook ne définit pas le drapeau MessageFlags.Flagged, c'est pourquoi Search() ne le trouve pas. Le plus probable Outlook ne stocke pas du tout sur le serveur IMAP (et cet état est stocké localement dans le fichier .pst) -ou- il stocke une chaîne personnalisée UserFlags sur le serveur IMAP que vous aurez besoin de comprendre en dehors.

Si vous connaissez un message particulier sur votre serveur IMAP qui a cet indicateur personnalisé, vous pouvez utiliser la méthode Fetch() avec MessageSummaryItems.Flags pour demander quels indicateurs sont définis. Ensuite, vous pouvez examiner le item.UserFlags et espérons que vous trouverez ce que vous cherchez.

+0

je vous remercie de votre aide! Je suis très désolé pour la réponse tardive, j'ai trouvé le message Flaged dans le MessageHeader ["X-Message-Flag"] – user6777454