Export (0) Print
Expand All

SmtpClient.EnableSsl Property

Specify whether the SmtpClient uses Secure Sockets Layer (SSL) to encrypt the connection.

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

public bool EnableSsl { get; set; }

Property Value

Type: System.Boolean
true if the SmtpClient uses SSL; otherwise, false. The default is false.

The EnableSsl property specifies whether SSL is used to access the specified SMTP mail server.

The default value for this property can also be set in a machine or application configuration file. Any changes made to the EnableSsl property override the configuration file settings.

The SmtpClient class only supports the SMTP Service Extension for Secure SMTP over Transport Layer Security as defined in RFC 3207. In this mode, the SMTP session begins on an unencrypted channel, then a STARTTLS command is issued by the client to the server to switch to secure communication using SSL. See RFC 3207 published by the Internet Engineering Task Force (IETF) for more information.

An alternate connection method is where an SSL session is established up front before any protocol commands are sent. This connection method is sometimes called SMTP/SSL, SMTP over SSL, or SMTPS and by default uses port 465. This alternate connection method using SSL is not currently supported.

You can use ClientCertificates to specify which client certificates should be used to establish the SSL connection. The ServerCertificateValidationCallback allows you to reject the certificate provided by the SMTP server. The SecurityProtocol property allows you to specify the version of the SSL protocol to use.

NoteNote

If the EnableSsl property is set to true, and the SMTP mail server does not advertise STARTTLS in the response to the EHLO command, then a call to the Send or SendAsync methods will throw an SmtpException.

The following code example establishes an SSL connection with the SMTP server and uses the connection to send an email.

		public static void CreateTestMessage(string server)
		{
			string to = "jane@contoso.com";
			string from = "ben@contoso.com";
			MailMessage message = new MailMessage(from, to);
			message.Subject = "Using the new SMTP client.";
			message.Body = @"Using this new feature, you can send an e-mail message from an application very easily.";
			SmtpClient client = new SmtpClient(server);
			// Credentials are necessary if the server requires the client  
			// to authenticate before it will send e-mail on the client's behalf.
			client.UseDefaultCredentials = true;
                        client.EnableSsl = true;
			client.Send(message);
		}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, 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.

Show:
© 2014 Microsoft