我需要在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
}
}
}
}
答案 0 :(得分:7)
获胜者是......
attachment.ContentDisposition.FileName