Как получить полную цепочку сообщений электронной почты IMAP при запросе в папку «Входящие»?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить полную цепочку сообщений электронной почты IMAP при запросе в папку «Входящие»?

Сообщение Anonymous »

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»