Первоначальное сообщение, отправленное от инициатора Gmail AC получателю Gmail AC, это поток, как я его вижу:
- Электронная почта Instigator TX
- Электронная почта получателя RX и метка «Входящие»
- Ответы получателя
- Зачинщик RX ответ & имеет метку «Входящие»
Это нормально, так как я могу использовать AllMail и кэшируйте его, НО это полностью зависит от поставщиков (например, GMail, MS Outlook, Yahoo и т. д.), имеющих реализацию папки 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