This documentation is archived and is not being maintained.

TransferEncoding Enumeration

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
QuotedPrintableEncodes data that consists of printable characters in the US-ASCII character set. See RFC 2406 Section 6.7.
Base64Encodes stream-based data. See RFC 2406 Section 6.8.
SevenBitUsed 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.
UnknownIndicates 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

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.