Первоначальное сообщение, отправленное от инициатора Gmail AC получателю Gmail AC, это поток, как я его вижу:
- Электронная почта Instigator TX
- Электронная почта получателя RX и метка «Входящие»
- Ответы получателя
- Зачинщик RX ответ & имеет метку «Входящие»
Это нормально для GMail, поскольку я может использовать свой AllMail и кэшировать его НО это полностью зависит от поставщиков (например, MS Outlook, Yahoo, Zoho и т. д.), имеющих реализацию папки AllMail, и я не уверен, что все они это делают.
Кто-нибудь может это подтвердить: требует ли IMAP от провайдеров наличия папки AllMail?
В Outlook нет > иметь папку AllMail в реализации веб-интерфейса, но, возможно, это скрыто??
Если у некоторых провайдеров НЕТ папки AllMail, то будет ли запрос к папке «Входящие» возвращать всю ветку, как это делает AllMail? Если нет, какую стратегию мы используем, чтобы получить всю ветку?
var items =
MessageSummaryItems.Annotations |
//MessageSummaryItems.Body |
//MessageSummaryItems.BodyStructure |
MessageSummaryItems.Envelope |
MessageSummaryItems.Flags |
MessageSummaryItems.InternalDate |
MessageSummaryItems.Size |
MessageSummaryItems.ModSeq |
MessageSummaryItems.References |
MessageSummaryItems.UniqueId |
MessageSummaryItems.EmailId |
MessageSummaryItems.ThreadId |
MessageSummaryItems.GMailMessageId |
MessageSummaryItems.GMailThreadId |
MessageSummaryItems.GMailLabels |
MessageSummaryItems.Headers |
MessageSummaryItems.PreviewText |
MessageSummaryItems.SaveDate
;
var orderBy_ReverseDate = new OrderBy[] { OrderBy.ReverseDate };
// All Mail
//
IList all_summaries_unordered = new List();
IList all_threads = new List();
if (client.Capabilities.HasFlag(ImapCapabilities.SpecialUse))
{
var all = client.GetFolder(SpecialFolder.All);
await all.OpenAsync(FolderAccess.ReadWrite);
all_summaries_unordered = await all.FetchAsync(0, -1, items);
all_threads = MessageThreader.Thread(all_summaries_unordered, ThreadingAlgorithm.References, orderBy_ReverseDate);
}
// Inbox
//
// Get Summaries - they contain Envelope, References, Flags (eg Seen),
var inbox_folder = await client.GetFolderAsync("inbox");// TODO: What is All Mail for Outlook, Yahoo & other providers???
await inbox_folder.OpenAsync(FolderAccess.ReadWrite);
var inbox_summaries_unordered = await inbox_folder.FetchAsync(0, -1, items);
var inbox_summaries = MessageThreader.Thread(inbox_summaries_unordered, ThreadingAlgorithm.References, orderBy_ReverseDate);
Подробнее здесь: https://stackoverflow.com/questions/791 ... -the-inbox