MailKit保存附件

时间:2016-03-25 20:35:11

标签: c# .net mailkit mimekit

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

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

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

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

我如何只记录附件?

MailKit v1.2.0.0 MimeKit 1.2.0.0

1 个答案:

答案 0 :(得分:32)

您正在保存整个MIME对象(包括标题)。您需要做的是保存内容。

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);
        }
    }
}

希望有所帮助。