3

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

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

我已经用 Google 搜索过,无法使用附件方法找到一些东西。

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
            }
        }
    }
}
4

1 回答 1

8

最终获胜者是.....

attachment.ContentDisposition.FileName
于 2015-09-09T11:51:12.313 回答