Click or drag to resize
MimeKit

IMimeMessageBodyParts Property

Get the body parts of the message.

Namespace: MimeKit
Assembly: MimeKit (in MimeKit.dll) Version: 4.7.1
Syntax
C#
IEnumerable<MimeEntity> BodyParts { get; }

Property Value

IEnumerableMimeEntity
The body parts.
Remarks
Traverses over the MIME tree, enumerating all of the MimeEntity objects, but does not traverse into the bodies of attached messages.
Example
C#
foreach (var bodyPart in message.BodyParts) {
    if (!bodyPart.IsAttachment)
        continue;

    if (bodyPart is MessagePart) {
        var fileName = attachment.ContentDisposition?.FileName;
        var rfc822 = (MessagePart) attachment;

        if (string.IsNullOrEmpty (fileName))
            fileName = "attached-message.eml";

        using (var stream = File.Create (fileName))
            rfc822.Message.WriteTo (stream);
    } else {
        var part = (MimePart) attachment;
        var fileName = part.FileName;

        using (var stream = File.Create (fileName))
            part.Content.DecodeTo (stream);
    }
}
See Also