Click or drag to resize
MimeKit

Multipart Class

A multipart MIME entity which may contain a collection of MIME entities.
Inheritance Hierarchy
SystemObject
  MimeKitMimeEntity
    MimeKitMultipart
      More

Namespace: MimeKit
Assembly: MimeKit (in MimeKit.dll) Version: 4.3.0
Syntax
C#
public class Multipart : MimeEntity, ICollection<MimeEntity>, 
	IEnumerable<MimeEntity>, IEnumerable, IList<MimeEntity>

The Multipart type exposes the following members.

Constructors
 NameDescription
Public methodMultipart Initialize a new instance of the Multipart class.
Public methodMultipart(MimeEntityConstructorArgs) Initialize a new instance of the Multipart class.
Public methodMultipart(String) Initialize a new instance of the Multipart class.
Public methodMultipart(String, Object) Initialize a new instance of the Multipart class.
Top
Properties
 NameDescription
Public propertyBoundary Get or set the boundary.
Public propertyContentBase Get or set the base content URI.
(Inherited from MimeEntity)
Public propertyContentDisposition Get or set the content disposition.
(Inherited from MimeEntity)
Public propertyContentId Get or set the Content-Id.
(Inherited from MimeEntity)
Public propertyContentLocation Get or set the content location.
(Inherited from MimeEntity)
Public propertyContentType Get the type of the content.
(Inherited from MimeEntity)
Public propertyCount Get the number of parts in the multipart.
Public propertyEpilogue Get or set the epilogue.
Public propertyHeaders Get the list of headers.
(Inherited from MimeEntity)
Public propertyIsAttachment Get a value indicating whether this MimePart is an attachment.
(Inherited from MimeEntity)
Public propertyIsReadOnly Get a value indicating whether this instance is read only.
Public propertyItem Get or set the MimeEntity at the specified index.
Public propertyPreamble Get or set the preamble.
Top
Methods
 NameDescription
Public methodAccept Dispatches to the specific visit method for this MIME entity.
(Overrides MimeEntityAccept(MimeVisitor))
Public methodAdd Add an entity to the multipart.
Public methodClear Clear a multipart.
Public methodClear(Boolean) Clear a multipart.
Public methodContains Check if the Multipart contains the specified entity.
Public methodCopyTo Copy all of the entities in the Multipart to the specified array.
Public methodDispose Releases all resources used by the MimeEntity object.
(Inherited from MimeEntity)
Protected methodDispose(Boolean) Release the unmanaged resources used by the Multipart and optionally releases the managed resources.
(Overrides MimeEntityDispose(Boolean))
Public methodEquals
(Inherited from Object)
Protected methodFinalize Releases unmanaged resources and performs other cleanup operations before the MimeEntity is reclaimed by garbage collection.
(Inherited from MimeEntity)
Public methodGetEnumerator Get the enumerator for the children of the Multipart.
Public methodGetHashCode
(Inherited from Object)
Public methodGetType
(Inherited from Object)
Public methodIndexOf Get the index of an entity.
Public methodInsert Insert an entity into the Multipart at the specified index.
Protected methodMemberwiseClone
(Inherited from Object)
Protected methodOnHeadersChanged Called when the headers change in some way.
(Inherited from MimeEntity)
Public methodPrepare Prepare the MIME entity for transport using the specified encoding constraints.
(Overrides MimeEntityPrepare(EncodingConstraint, Int32))
Public methodRemove Remove an entity from the multipart.
Public methodRemoveAt Remove an entity from the Multipart at the specified index.
Protected methodRemoveHeader Remove a header by name.
(Inherited from MimeEntity)
Protected methodSetHeader(String, Byte) Set the value of a header using the raw value.
(Inherited from MimeEntity)
Protected methodSetHeader(String, String) Set the value of a header.
(Inherited from MimeEntity)
Public methodToString Return a String that represents the MimeEntity for debugging purposes.
(Inherited from MimeEntity)
Public methodTryGetValue Get the preferred message body if it exists.
Protected methodTryInit Tries to use the given object to initialize the appropriate property.
(Inherited from MimeEntity)
Public methodWriteTo(Stream, CancellationToken) Write the MimeEntity to the specified output stream.
(Inherited from MimeEntity)
Public methodWriteTo(String, CancellationToken) Write the MimeEntity to the specified file.
(Inherited from MimeEntity)
Public methodWriteTo(FormatOptions, Stream, CancellationToken) Write the MimeEntity to the specified output stream.
(Inherited from MimeEntity)
Public methodWriteTo(FormatOptions, String, CancellationToken) Write the MimeEntity to the specified file.
(Inherited from MimeEntity)
Public methodWriteTo(Stream, Boolean, CancellationToken) Write the MimeEntity to the specified output stream.
(Inherited from MimeEntity)
Public methodWriteTo(String, Boolean, CancellationToken) Write the MimeEntity to the specified file.
(Inherited from MimeEntity)
Public methodWriteTo(FormatOptions, String, Boolean, CancellationToken) Write the MimeEntity to the specified file.
(Inherited from MimeEntity)
Public methodWriteTo(FormatOptions, Stream, Boolean, CancellationToken) Write the Multipart to the specified output stream.
(Overrides MimeEntityWriteTo(FormatOptions, Stream, Boolean, CancellationToken))
Public methodWriteToAsync(Stream, CancellationToken) Asynchronously write the MimeEntity to the specified output stream.
(Inherited from MimeEntity)
Public methodWriteToAsync(String, CancellationToken) Asynchronously write the MimeEntity to the specified file.
(Inherited from MimeEntity)
Public methodWriteToAsync(FormatOptions, Stream, CancellationToken) Asynchronously write the MimeEntity to the specified output stream.
(Inherited from MimeEntity)
Public methodWriteToAsync(FormatOptions, String, CancellationToken) Asynchronously write the MimeEntity to the specified file.
(Inherited from MimeEntity)
Public methodWriteToAsync(Stream, Boolean, CancellationToken) Asynchronously write the MimeEntity to the specified output stream.
(Inherited from MimeEntity)
Public methodWriteToAsync(String, Boolean, CancellationToken) Asynchronously write the MimeEntity to the specified file.
(Inherited from MimeEntity)
Public methodWriteToAsync(FormatOptions, String, Boolean, CancellationToken) Asynchronously write the MimeEntity to the specified file.
(Inherited from MimeEntity)
Public methodWriteToAsync(FormatOptions, Stream, Boolean, CancellationToken) Asynchronously write the Multipart to the specified output stream.
(Overrides MimeEntityWriteToAsync(FormatOptions, Stream, Boolean, CancellationToken))
Top
Remarks

All multipart MIME entities will have a Content-Type with a media type of "multipart". The most common multipart MIME entity used in email is the "multipart/mixed" entity.

Four (4) initial subtypes were defined in the original MIME specifications: mixed, alternative, digest, and parallel.

The "multipart/mixed" type is a sort of general-purpose container. When used in email, the first entity is typically the "body" of the message while additional entities are most often file attachments.

Speaking of message "bodies", the "multipart/alternative" type is used to offer a list of alternative formats for the main body of the message (usually they will be "text/plain" and "text/html"). These alternatives are in order of increasing faithfulness to the original document (in other words, the last entity will be in a format that, when rendered, will most closely match what the sending client's WYSISYG editor produced).

The "multipart/digest" type will typically contain a digest of MIME messages and is most commonly used by mailing-list software.

The "multipart/parallel" type contains entities that are all meant to be shown (or heard) in parallel.

Another commonly used type is the "multipart/related" type which contains, as one might expect, inter-related MIME parts which typically reference each other via URIs based on the Content-Id and/or Content-Location headers.

See Also
Inheritance Hierarchy