2 out of 3 rated this helpful - Rate this topic

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 name Description
QuotedPrintable Encodes data that consists of printable characters in the US-ASCII character set. See RFC 2406 Section 6.7.
Base64 Encodes stream-based data. See RFC 2406 Section 6.8.
SevenBit 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.
Unknown 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 http://www.ietf.org.

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;
		}


public:
    static void DisplayStreamAttachment(Attachment* a)
    {
        Stream* s = a->ContentStream;
        StreamReader* reader = new StreamReader(s);
        Console::WriteLine(S"Content: {0}",reader->ReadToEnd());
        Console::WriteLine(S"Content Type {0}", a->ContentType);
        Console::WriteLine(S"Transfer Encoding {0}", __box(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 = 0;
    }


Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

Supported in: 3.5, 3.0, 2.0
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Reference to wrong RFC
The RFC 2406 is entitled "IP Encapsulating Security Payload (ESP)" and has nothing to do with Internet message encoding...

Instead of 2406 it should probably be RFC 2045 "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies"