AttachmentCollection Class
Stores attachments to be sent as part of an e-mail message.
System.Collections.ObjectModel.Collection<Attachment>
System.Net.Mail.AttachmentCollection
Namespace: System.Net.Mail
Assembly: System (in System.dll)
The AttachmentCollection type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Count | Gets the number of elements actually contained in the Collection<T>. (Inherited from Collection<T>.) |
![]() | Item | Gets or sets the element at the specified index. (Inherited from Collection<T>.) |
| Name | Description | |
|---|---|---|
![]() | Add | Adds an object to the end of the Collection<T>. (Inherited from Collection<T>.) |
![]() | Clear | Removes all elements from the Collection<T>. (Inherited from Collection<T>.) |
![]() | Contains | Determines whether an element is in the Collection<T>. (Inherited from Collection<T>.) |
![]() | CopyTo | Copies the entire Collection<T> to a compatible one-dimensional Array, starting at the specified index of the target array. (Inherited from Collection<T>.) |
![]() | Dispose | Releases all resources used by the AttachmentCollection. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetEnumerator | Returns an enumerator that iterates through the Collection<T>. (Inherited from Collection<T>.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IndexOf | Searches for the specified object and returns the zero-based index of the first occurrence within the entire Collection<T>. (Inherited from Collection<T>.) |
![]() | Insert | Inserts an element into the Collection<T> at the specified index. (Inherited from Collection<T>.) |
![]() | Remove | Removes the first occurrence of a specific object from the Collection<T>. (Inherited from Collection<T>.) |
![]() | RemoveAt | Removes the element at the specified index of the Collection<T>. (Inherited from Collection<T>.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | ICollection.CopyTo | Copies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from Collection<T>.) |
![]() ![]() | ICollection<T>.IsReadOnly | Gets a value indicating whether the ICollection<T> is read-only. (Inherited from Collection<T>.) |
![]() ![]() | ICollection.IsSynchronized | Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from Collection<T>.) |
![]() ![]() | ICollection.SyncRoot | Gets an object that can be used to synchronize access to the ICollection. (Inherited from Collection<T>.) |
![]() ![]() | IEnumerable.GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Collection<T>.) |
![]() ![]() | IList.Add | Adds an item to the IList. (Inherited from Collection<T>.) |
![]() ![]() | IList.Contains | Determines whether the IList contains a specific value. (Inherited from Collection<T>.) |
![]() ![]() | IList.IndexOf | Determines the index of a specific item in the IList. (Inherited from Collection<T>.) |
![]() ![]() | IList.Insert | Inserts an item into the IList at the specified index. (Inherited from Collection<T>.) |
![]() ![]() | IList.IsFixedSize | Gets a value indicating whether the IList has a fixed size. (Inherited from Collection<T>.) |
![]() ![]() | IList.IsReadOnly | Gets a value indicating whether the IList is read-only. (Inherited from Collection<T>.) |
![]() ![]() | IList.Item | Gets or sets the element at the specified index. (Inherited from Collection<T>.) |
![]() ![]() | IList.Remove | Removes the first occurrence of a specific object from the IList. (Inherited from Collection<T>.) |
Instances of the AttachmentCollection class are returned by the MailMessage.AlternateViews and MailMessage.Attachments properties.
Use the AlternateViews property to specify copies of an e-mail message in different formats. For example, if you send a message in HTML, you might also want provide a plain text version in case some of the recipients use e-mail readers that cannot display HTML content.
Use the collection returned by the Attachments property to add an attachment, such as a file or the contents of a Stream to this MailMessage.
The following code example demonstrates how to create and send an e-mail message with an attachment.
public static void CreateMessageWithAttachment(string server) { // Specify the file to be attached and sent. // This example assumes that a file named Data.xls exists in the // current working directory. string file = "data.xls"; // Create a message and set up the recipients. MailMessage message = new MailMessage( "jane@contoso.com", "ben@contoso.com", "Quarterly data report.", "See the attached spreadsheet."); // Create the file attachment for this e-mail message. Attachment data = new Attachment(file, MediaTypeNames.Application.Octet); // Add time stamp information for the file. ContentDisposition disposition = data.ContentDisposition; disposition.CreationDate = System.IO.File.GetCreationTime(file); disposition.ModificationDate = System.IO.File.GetLastWriteTime(file); disposition.ReadDate = System.IO.File.GetLastAccessTime(file); // Add the file attachment to this e-mail message. message.Attachments.Add(data); //Send the message. SmtpClient client = new SmtpClient(server); // Add credentials if the SMTP server requires them. client.Credentials = CredentialCache.DefaultNetworkCredentials; try { client.Send(message); } catch (Exception ex) { Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}", ex.ToString() ); } // Display the values in the ContentDisposition for the attachment. ContentDisposition cd = data.ContentDisposition; Console.WriteLine("Content disposition"); Console.WriteLine(cd.ToString()); Console.WriteLine("File {0}", cd.FileName); Console.WriteLine("Size {0}", cd.Size); Console.WriteLine("Creation {0}", cd.CreationDate); Console.WriteLine("Modification {0}", cd.ModificationDate); Console.WriteLine("Read {0}", cd.ReadDate); Console.WriteLine("Inline {0}", cd.Inline); Console.WriteLine("Parameters: {0}", cd.Parameters.Count); foreach (DictionaryEntry d in cd.Parameters) { Console.WriteLine("{0} = {1}", d.Key, d.Value); } data.Dispose(); }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

