MailKit 保存附件

MailKit save Attachments

我正在尝试保存邮件中的附件

foreach(MimeKit.MimeEntity at message.Attachments) 
{
    at.WriteTo("nameFile");
}

文件已保存,但打开时出现错误 文件已损坏或太大 此文件的大小为 88 kb,但文件的大小应等于 55 kb。

我认为在所有记录的消息文件中。

如何只录制附件?

MailKit v1.2.0.0 MimeKit 1.2.0.0

您正在保存整个 MIME object(包括 headers)。您需要做的是保存内容。

foreach (var attachment in message.Attachments) {
    using (var stream = File.Create ("fileName")) {
        if (attachment is MessagePart) {
            var part = (MessagePart) attachment;

            part.Message.WriteTo (stream);
        } else {
            var part = (MimePart) attachment;

            part.Content.DecodeTo (stream);
        }
    }
}

希望对您有所帮助。