Использование Mailkit для сохранения вложений с использованием IMAP

Мне нужно найти конкретное письмо на сервере Google IMAP, а затем сохранить вложения из письма. Я думаю, что я все выяснил, за исключением части определения, что имя файла вложения.

Ниже приведен мой код, я надеюсь, что кто-то может указать мне правильное направление, чтобы определить имя файла.

У меня есть Googled и SO, но я не смог найти что-то, используя подход привязанности.

internal class MailKitHelper
{
    private void SaveAttachementsForMessage(string aMessageId)
    {
        ImapClient imapClient = new ImapClient();
        imapClient.Connect("imap.google.com", 993, SecureSocketOptions.Auto);
        imapClient.Authenticate("xxxx", "xxxx");

        HeaderSearchQuery searchCondition = SearchQuery.HeaderContains("Message-Id", aMessageId);
        imapClient.Inbox.Open(FolderAccess.ReadOnly);
        IList<UniqueId> ids = imapClient.Inbox.Search(searchCondition);

        foreach (UniqueId uniqueId in ids)
        {
            MimeMessage message = imapClient.Inbox.GetMessage(uniqueId);

            foreach (MimeEntity attachment in message.Attachments)
            {
                attachment.WriteTo("WhatIsTheFileName"); //How do I determine the file name
            }
        }
    }
}

1 ответ

Решение

И победитель.....

attachment.ContentDisposition.FileName
Другие вопросы по тегам