Reputation: 305
I'm try save attachments from message
foreach(MimeKit.MimeEntity at message.Attachments)
{
at.WriteTo("nameFile");
}
File saved, but when I open I get the error the file is corrupted or too large The size of this file is 88 kb, but size of the file should be equal to 55 kb.
I think that in all recorded message file.
How do I only record the attachment?
MailKit v1.2.0.0 MimeKit 1.2.0.0
Upvotes: 26
Views: 25332
Reputation: 38528
You are saving the entire MIME object (including the headers). What you need to do is save the content.
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);
}
}
}
Upvotes: 56