Imap |
If the FlagChange notification arrives for a message located in the currently selected folder, then that folder will emit a MessageFlagsChanged event as well as a MessageSummaryFetched event with an appropriately populated IMessageSummary.
On the other hand, if the FlagChange notification arrives for a message that is not located in the currently selected folder, then the events that are emitted will depend on the ImapCapabilities of the IMAP server.
If the server supports the CondStore capability (or the QuickResync capability and the client has enabled it via EnableQuickResync(CancellationToken)), then the HighestModSeqChanged event will be emitted as well as the UidValidityChanged event (if the latter has changed). If the number of seen messages has changed, then the UnreadChanged event may also be emitted.
If the server does not support either the CondStore capability nor the QuickResync capability and the client has not enabled the later capability via EnableQuickResync(CancellationToken), then the server may choose only to notify the client of UidValidity changes by emitting the UidValidityChanged event.