使用Mailkit使用IMAP

时间:2015-09-09 11:14:37

标签: c# mailkit

我需要在Google IMAP服务器上找到特定的电子邮件,然后保存电子邮件中的附件。我想我已经弄明白了,除了确定文件名是附件的部分。

以下是我的代码到目前为止,我希望有人能指出我正确的方向来确定文件名。

我使用Google搜索和SO'd,但无法使用附件方法找到某些内容。

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 个答案:

答案 0 :(得分:7)

获胜者是......

attachment.ContentDisposition.FileName