Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
SmtpClient Class
 EnableSsl Property
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
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)
Visual Basic (Declaration)
Public Property EnableSsl As Boolean
Visual Basic (Usage)
Dim instance As SmtpClient
Dim value As Boolean

value = instance.EnableSsl

instance.EnableSsl = value
C#
public bool EnableSsl { get; set; }
Visual C++
public:
property bool EnableSsl {
    bool get ();
    void set (bool value);
}
JScript
public function get EnableSsl () : boolean
public function set EnableSsl (value : boolean)

Property Value

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

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.

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

C#
        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);
        }

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
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
EnableSSL not SMTP over SSL      mrpasta   |   Edit   |   Show History
The .EnableSSL property does not appear to be the same as the:
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", true);
setting that we had to use in .NET 1.1. EnableSSL seems to use the STARTTLS extension of SMTP (sometimes called Explicit SSL). Is there any way to use Implicit SSL (usually over port 465, sometimes called SMTPS), where the entire connection is wrapped in an SSL layer?
anyway to specify this setting in web.config or machine.config?      MikeOtown   |   Edit   |   Show History
anyway to specify this setting in web.config or machine.config?
Tags What's this?: Add a tag
Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement | Site Feedback
Page view tracker