SmtpClient.EnableSsl Свойство

Определение

Указывает, использует ли SmtpClient протокол SSL для шифрования подключения.Specify whether the SmtpClient uses Secure Sockets Layer (SSL) to encrypt the connection.

public:
 property bool EnableSsl { bool get(); void set(bool value); };
public bool EnableSsl { get; set; }
member this.EnableSsl : bool with get, set
Public Property EnableSsl As Boolean

Значение свойства

true, если SmtpClient использует SSL; в противном случае — false.true if the SmtpClient uses SSL; otherwise, false. Значение по умолчанию — false.The default is false.

Примеры

В следующем примере кода устанавливается подключение SSL к SMTP-серверу и используется подключение для отправки сообщения электронной почты.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 email 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 email on the client's behalf.
    client.UseDefaultCredentials = true;
                client.EnableSsl = true;
    client.Send(message);
}

Комментарии

Свойство EnableSsl указывает, используется ли SSL для доступа к указанному почтовому SMTP-серверу.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. Любые изменения, внесенные в свойство EnableSsl, переопределяют параметры файла конфигурации.Any changes made to the EnableSsl property override the configuration file settings.

Класс SmtpClient поддерживает только расширение службы SMTP для защиты SMTP по протоколу TLS, как определено в RFC 3207.The SmtpClient class only supports the SMTP Service Extension for Secure SMTP over Transport Layer Security as defined in RFC 3207. В этом режиме сеанс SMTP начинается на незашифрованном канале, после чего клиент отправляет на сервер команду STARTTLS, чтобы переключиться на безопасное взаимодействие с помощью SSL.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. Дополнительные сведения см. в RFC 3207, опубликованных с помощью IETF.See RFC 3207 published by the Internet Engineering Task Force (IETF) for more information.

Альтернативный способ подключения заключается в том, где сеанс SSL устанавливается перед отправкой любых команд протокола.An alternate connection method is where an SSL session is established up front before any protocol commands are sent. Этот метод подключения иногда называют SMTP/SSL, SMTP через SSL или SMTP и по умолчанию использует порт 465.This connection method is sometimes called SMTP/SSL, SMTP over SSL, or SMTPS and by default uses port 465. Этот альтернативный метод подключения, использующий SSL, в настоящее время не поддерживается.This alternate connection method using SSL is not currently supported.

Вы можете использовать ClientCertificates, чтобы указать, какие сертификаты клиентов следует использовать для установления SSL-соединения.You can use ClientCertificates to specify which client certificates should be used to establish the SSL connection. ServerCertificateValidationCallback позволяет отклонить сертификат, предоставленный SMTP-сервером.The ServerCertificateValidationCallback allows you to reject the certificate provided by the SMTP server. Свойство SecurityProtocol позволяет указать версию протокола SSL для использования.The SecurityProtocol property allows you to specify the version of the SSL protocol to use.

Примечание

Если свойство EnableSsl имеет значение true, а почтовый сервер SMTP не объявляет STARTTLS в ответ на команду EHLO, то вызов метода Send или SendAsync вызывает исключение SmtpException.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.

Применяется к

Дополнительно