TransferEncoding Enumeration


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Specifies the Content-Transfer-Encoding header information for an e-mail message attachment.

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

public enum TransferEncoding

Member nameDescription

Encodes stream-based data. See RFC 2406 Section 6.8.


The data is in 8-bit characters that may represent international characters with a total line length of no longer than 1000 8-bit characters. For more information about this 8-bit MIME transport extension, see IETF RFC 6152.


Encodes data that consists of printable characters in the US-ASCII character set. See RFC 2406 Section 6.7.


Used for data that is not encoded. The data is in 7-bit US-ASCII characters with a total line length of no longer than 1000 characters. See RFC2406 Section 2.7.


Indicates that the transfer encoding is unknown.

The values in the TransferEncoding enumeration are used with the AttachmentBase.TransferEncoding property.

The Content-Transfer-Encoding header specifies the encoding of the associated message body so that it meets SMTP requirements. SMTP requires data for transport to be in 7-bit US-ASCII characters with lines no longer than 1000 characters.

Content-Transfer-Encoding values are described in detail in RFC 2045 Section 6, available at

The following code example displays TransferEncoding used by an attachment.

public static void DisplayStreamAttachment(Attachment a)
	Stream s = a.ContentStream;
	StreamReader reader = new StreamReader(s);
	Console.WriteLine("Content: {0}", reader.ReadToEnd());
	Console.WriteLine("Content Type {0}", a.ContentType.ToString());
	Console.WriteLine("Transfer Encoding {0}", a.TransferEncoding);
	// Note that you cannot close the reader before the e-mail is sent. 
	// Closing the reader before sending the e-mail will close the 
	// ContentStream and cause an SmtpException.
	reader = null;

.NET Framework
Available since 2.0
Return to top