|  | Multipart | 
 Inheritance Hierarchy
Inheritance Hierarchy Syntax
Syntaxpublic class MultipartReport : Multipart, IMultipartReport, IMultipart, IMimeEntity, IDisposable, ICollection<MimeEntity>, IEnumerable<MimeEntity>, IEnumerable, IList<MimeEntity>
The MultipartReport type exposes the following members.
 Constructors
Constructors| Name | Description | |
|---|---|---|
|  | MultipartReport(MimeEntityConstructorArgs) | Initialize a new instance of the MultipartReport class. | 
|  | MultipartReport(String) | Initialize a new instance of the MultipartReport class. | 
|  | MultipartReport(String, Object) | Initialize a new instance of the MultipartReport class. | 
 Properties
Properties| Name | Description | |
|---|---|---|
|  | Boundary | Get or set the boundary. (Inherited from Multipart) | 
|  | ContentBase | Get or set the base content URI. (Inherited from MimeEntity) | 
|  | ContentDisposition | Get or set the content disposition. (Inherited from MimeEntity) | 
|  | ContentId | Get or set the Content-Id. (Inherited from MimeEntity) | 
|  | ContentLocation | Get or set the content location. (Inherited from MimeEntity) | 
|  | ContentType | Get the type of the content. (Inherited from MimeEntity) | 
|  | Count | Get the number of parts in the multipart. (Inherited from Multipart) | 
|  | Epilogue | Get or set the epilogue. (Inherited from Multipart) | 
|  | Headers | Get the list of headers. (Inherited from MimeEntity) | 
|  | IsAttachment | Get a value indicating whether this MimePart is an attachment. (Inherited from MimeEntity) | 
|  | IsReadOnly | Get a value indicating whether this instance is read only. (Inherited from Multipart) | 
|  | Item | Get or set the MimeEntity at the specified index. (Inherited from Multipart) | 
|  | Preamble | Get or set the preamble. (Inherited from Multipart) | 
|   | ReportType | Get or set the type of the report. | 
 Methods
Methods| Name | Description | |
|---|---|---|
|  | Accept | Dispatches to the specific visit method for this MIME entity. (Overrides MultipartAccept(MimeVisitor)) | 
|  | Add | Add an entity to the multipart. (Inherited from Multipart) | 
|  | Clear | Clear a multipart. (Inherited from Multipart) | 
|  | Clear(Boolean) | Clear a multipart. (Inherited from Multipart) | 
|  | Contains | Check if the Multipart contains the specified entity. (Inherited from Multipart) | 
|  | CopyTo | Copy all the entities in the Multipart to the specified array. (Inherited from Multipart) | 
|  | Dispose | Releases all resources used by the MimeEntity object. (Inherited from MimeEntity) | 
|  | Dispose(Boolean) | Release the unmanaged resources used by the Multipart and
            optionally releases the managed resources. (Inherited from Multipart) | 
|  | Equals | (Inherited from Object) | 
|  | Finalize | Releases unmanaged resources and performs other cleanup operations before the
            MimeEntity is reclaimed by garbage collection. (Inherited from MimeEntity) | 
|  | GetEnumerator | Get the enumerator for the children of the Multipart. (Inherited from Multipart) | 
|  | GetHashCode | (Inherited from Object) | 
|  | GetType | (Inherited from Object) | 
|  | IndexOf | Get the index of an entity. (Inherited from Multipart) | 
|  | Insert | Insert an entity into the Multipart at the specified index. (Inherited from Multipart) | 
|  | MemberwiseClone | (Inherited from Object) | 
|  | OnHeadersChanged | Called when the headers change in some way. (Inherited from MimeEntity) | 
|  | Prepare | Prepare the MIME entity for transport using the specified encoding constraints. (Inherited from Multipart) | 
|  | Remove | Remove an entity from the multipart. (Inherited from Multipart) | 
|  | RemoveAt | Remove an entity from the Multipart at the specified index. (Inherited from Multipart) | 
|  | RemoveHeader | Remove a header by name. (Inherited from MimeEntity) | 
|  | SetHeader(String, Byte) | Set the value of a header using the raw value. (Inherited from MimeEntity) | 
|  | SetHeader(String, String) | Set the value of a header. (Inherited from MimeEntity) | 
|  | ToString | Return a String that represents the MimeEntity for debugging purposes. (Inherited from MimeEntity) | 
|  | TryGetValue | Get the preferred message body if it exists. (Inherited from Multipart) | 
|  | TryInit | Tries to use the given object to initialize the appropriate property. (Inherited from MimeEntity) | 
|  | WriteTo(Stream, CancellationToken) | Write the MimeEntity to the specified output stream. (Inherited from MimeEntity) | 
|  | WriteTo(String, CancellationToken) | Write the MimeEntity to the specified file. (Inherited from MimeEntity) | 
|  | WriteTo(FormatOptions, Stream, CancellationToken) | Write the MimeEntity to the specified output stream. (Inherited from MimeEntity) | 
|  | WriteTo(FormatOptions, String, CancellationToken) | Write the MimeEntity to the specified file. (Inherited from MimeEntity) | 
|  | WriteTo(Stream, Boolean, CancellationToken) | Write the MimeEntity to the specified output stream. (Inherited from MimeEntity) | 
|  | WriteTo(String, Boolean, CancellationToken) | Write the MimeEntity to the specified file. (Inherited from MimeEntity) | 
|  | WriteTo(FormatOptions, String, Boolean, CancellationToken) | Write the MimeEntity to the specified file. (Inherited from MimeEntity) | 
|  | WriteTo(FormatOptions, Stream, Boolean, CancellationToken) | Write the Multipart to the specified output stream. (Inherited from Multipart) | 
|  | WriteToAsync(Stream, CancellationToken) | Asynchronously write the MimeEntity to the specified output stream. (Inherited from MimeEntity) | 
|  | WriteToAsync(String, CancellationToken) | Asynchronously write the MimeEntity to the specified file. (Inherited from MimeEntity) | 
|  | WriteToAsync(FormatOptions, Stream, CancellationToken) | Asynchronously write the MimeEntity to the specified output stream. (Inherited from MimeEntity) | 
|  | WriteToAsync(FormatOptions, String, CancellationToken) | Asynchronously write the MimeEntity to the specified file. (Inherited from MimeEntity) | 
|  | WriteToAsync(Stream, Boolean, CancellationToken) | Asynchronously write the MimeEntity to the specified output stream. (Inherited from MimeEntity) | 
|  | WriteToAsync(String, Boolean, CancellationToken) | Asynchronously write the MimeEntity to the specified file. (Inherited from MimeEntity) | 
|  | WriteToAsync(FormatOptions, String, Boolean, CancellationToken) | Asynchronously write the MimeEntity to the specified file. (Inherited from MimeEntity) | 
|  | WriteToAsync(FormatOptions, Stream, Boolean, CancellationToken) | Asynchronously write the Multipart to the specified output stream. (Inherited from Multipart) | 
 Remarks
Remarks Example
Examplepublic void ProcessDeliveryStatusNotification (MimeMessage message) { var report = message.Body as MultipartReport; if (report == null || report.ReportType == null || !report.ReportType.Equals ("delivery-status", StringComparison.OrdinalIgnoreCase)) { // this is not a delivery status notification message... return; } // process the report foreach (var mds in report.OfType<MessageDeliveryStatus> ()) { // process the status groups - each status group represents a different recipient // The first status group contains information about the message var envelopeId = mds.StatusGroups[0]["Original-Envelope-Id"]; // all of the other status groups contain per-recipient information for (int i = 1; i < mds.StatusGroups.Length; i++) { var recipient = mds.StatusGroups[i]["Original-Recipient"]; var action = mds.StatusGroups[i]["Action"]; if (recipient == null) recipient = mds.StatusGroups[i]["Final-Recipient"]; // the recipient string should be in the form: "rfc822;user@domain.com" var index = recipient.IndexOf (';'); var address = recipient.Substring (index + 1); switch (action) { case "failed": Console.WriteLine ("Delivery of message {0} failed for {1}", envelopeId, address); break; case "delayed": Console.WriteLine ("Delivery of message {0} has been delayed for {1}", envelopeId, address); break; case "delivered": Console.WriteLine ("Delivery of message {0} has been delivered to {1}", envelopeId, address); break; case "relayed": Console.WriteLine ("Delivery of message {0} has been relayed for {1}", envelopeId, address); break; case "expanded": Console.WriteLine ("Delivery of message {0} has been delivered to {1} and relayed to the the expanded recipients", envelopeId, address); break; } } } }
 See Also
See Also