MailKit保存附件

问题描述 投票:14回答:1

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

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

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

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

我如何只记录附件?

MailKit v1.2.0.0 MimeKit 1.2.0.0

c# .net mailkit mimekit
1个回答
36
投票

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

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.