SmtpClient.EnableSsl Propriedade

Definição

Especifique se utiliza SmtpClient a Camada de Soquetes Seguros (SSL) para encriptar a ligação.

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

Valor de Propriedade

true se o SmtpClient usar SSL; caso contrário, false. A predefinição é false.

Exemplos

O exemplo de código seguinte estabelece uma ligação SSL com o servidor SMTP e utiliza essa ligação para enviar um 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);
}

Observações

A EnableSsl propriedade especifica se SSL é usado para aceder ao servidor de correio SMTP especificado.

O valor padrão desta propriedade também pode ser definido num ficheiro de configuração de máquina ou aplicação. Qualquer alteração feita à EnableSsl propriedade sobrepõe-se às definições do ficheiro de configuração.

A SmtpClient classe suporta apenas a Extensão de Serviço SMTP para Segurança SMTP sobre Camada de Transporte, conforme definido no RFC 3207. Neste modo, a sessão SMTP começa num canal não encriptado, sendo depois emitido pelo cliente um comando STARTTLS ao servidor para mudar para comunicação segura usando SSL. Consulte o RFC 3207 publicado pela Internet Engineering Task Force (IETF) para mais informações.

Um método alternativo de ligação é quando uma sessão SSL é estabelecida antecipadamente antes de quaisquer comandos de protocolo serem enviados. Este método de ligação é por vezes chamado SMTP/SSL, SMTP sobre SSL ou SMTPS e, por defeito, utiliza a porta 465. Este método alternativo de ligação usando SSL não é atualmente suportado.

Pode usar ClientCertificates para especificar quais os certificados do cliente que devem ser usados para estabelecer a ligação SSL. Permite-lhe ServerCertificateValidationCallback rejeitar o certificado fornecido pelo servidor SMTP. A SecurityProtocol propriedade permite-lhe especificar a versão do protocolo SSL a utilizar.

Note

Se a EnableSsl propriedade estiver definida para true, e o servidor de email SMTP não anunciar STARTTLS na resposta ao comando EHLO, então uma chamada aos Send métodos ou SendAsync irá lançar um SmtpException.

Aplica-se a

Ver também