SmtpClient.EnableSsl Właściwość

Definicja

Określ, SmtpClient czy do szyfrowania połączenia używa protokołu Secure Sockets Layer (SSL).

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

Wartość właściwości

truejeśli używa protokołu SmtpClient SSL; w przeciwnym razie . false Wartość domyślna to false.

Przykłady

Poniższy przykład kodu ustanawia połączenie SSL z serwerem SMTP i używa połączenia do wysyłania wiadomości e-mail.

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

Uwagi

Właściwość EnableSsl określa, czy protokół SSL jest używany do uzyskiwania dostępu do określonego serwera poczty SMTP.

Wartość domyślna tej właściwości można również ustawić w pliku konfiguracji maszyny lub aplikacji. Wszelkie zmiany wprowadzone we EnableSsl właściwości zastępują ustawienia pliku konfiguracji.

Klasa SmtpClient obsługuje tylko rozszerzenie usługi SMTP dla protokołu Secure SMTP over Transport Layer Security zgodnie z definicją w dokumencie RFC 3207. W tym trybie sesja SMTP rozpoczyna się w niezaszyfrowanym kanale, a następnie polecenie STARTTLS jest wydawane przez klienta do serwera, aby przełączyć się na bezpieczną komunikację przy użyciu protokołu SSL. Aby uzyskać więcej informacji, zobacz RFC 3207 opublikowane przez Internet Engineering Task Force (IETF).

Alternatywna metoda połączenia polega na tym, że sesja SSL jest ustanawiana z góry przed wysłaniem jakichkolwiek poleceń protokołu. Ta metoda połączenia jest czasami nazywana protokołem SMTP/SSL, SMTP za pośrednictwem protokołu SSL lub SMTPS, a domyślnie używa portu 465. Ta alternatywna metoda połączenia przy użyciu protokołu SSL nie jest obecnie obsługiwana.

Można użyć ClientCertificates polecenia , aby określić, które certyfikaty klienta powinny być używane do nawiązania połączenia SSL. Element ServerCertificateValidationCallback umożliwia odrzucenie certyfikatu dostarczonego przez serwer SMTP. Właściwość SecurityProtocol umożliwia określenie wersji protokołu SSL do użycia.

Uwaga

EnableSsl Jeśli właściwość jest ustawiona na truewartość , a serwer poczty SMTP nie anonsuje wartości STARTTLS w odpowiedzi na polecenie EHLO, wywołanie Send metody lub SendAsync zgłosi SmtpExceptionbłąd .

Dotyczy

Zobacz też