ContentDisposition.DispositionType Property


Gets or sets the disposition type for an e-mail attachment.

Namespace:   System.Net.Mime
Assembly:  System (in System.dll)

public string DispositionType { get; set; }

Property Value

Type: System.String

A String that contains the disposition type. The value is not restricted but is typically one of the DispositionType values.

Exception Condition

The value specified for a set operation is null.


The value specified for a set operation is equal to String.Empty ("").

The DispositionType property value can be used by software that displays e-mail to determine the correct way to present the e-mail attachments. Inline attachments are usually displayed when the user opens the e-mail. Attachment attachments are usually not opened until the user performs some action, such as clicking an icon that represents the attachment.

The Content-Disposition header is described in RFC 2183 available at

The following code example demonstrates how to set the value of this property.

public static void CreateMessageWithAttachment4(string server, string to)
	// Specify the file to be attached and sent.
	// This example uses a file on a UNC share.
	string file = @"\\share3\c$\reports\data.xls";
	// Create a message and set up the recipients.
	MailMessage message = new MailMessage(
	   "Quarterly data report",
	   "See the attached spreadsheet.");

	// Create  the file attachment for this e-mail message.
	Attachment data = new Attachment("qtr3.xls", 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);
	disposition.DispositionType = DispositionTypeNames.Attachment;
	// Add the file attachment to this e-mail message.
	//Send the message.
	SmtpClient client = new SmtpClient(server);
	// Add credentials if the SMTP server requires them.
	client.Credentials = (ICredentialsByHost)CredentialCache.DefaultNetworkCredentials;
	// Display the message headers.
	string[] keys = message.Headers.AllKeys;
	foreach (string s in keys)
		Console.WriteLine("{0}:", s);
		Console.WriteLine("    {0}", message.Headers[s]);

.NET Framework
Available since 2.0
Return to top