23

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

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

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

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

如何只记录附件?

MailKit v1.2.0.0 MimeKit 1.2.0.0

4

1 回答 1

52

您正在保存整个 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);
        }
    }
}

希望有帮助。

于 2016-03-25T23:51:07.660 回答