SmtpClient.UseDefaultCredentials Propiedad

Definición

Obtiene o establece un valor Boolean que controla si se envían DefaultCredentials con las solicitudes.

public bool UseDefaultCredentials { get; set; }

Valor de propiedad

Es true si se utilizan las credenciales predeterminadas; en caso contrario, es false. El valor predeterminado es false.

Excepciones

No se puede cambiar el valor de esta propiedad cuando se está enviando un mensaje de correo electrónico.

Ejemplos

En el ejemplo de código siguiente se muestra el uso de esta propiedad.

public static void CreateTestMessage2(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;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateTestMessage2(): {0}",
            ex.ToString());
    }
}

Comentarios

Algunos servidores SMTP requieren que el cliente se autentique antes de que el servidor envíe correo electrónico en su nombre. Establezca esta propiedad true en cuando este SmtpClient objeto debe, si lo solicita el servidor, autenticarse con las credenciales predeterminadas del usuario que ha iniciado sesión actualmente. En el caso de las aplicaciones cliente, este es el comportamiento deseado en la mayoría de los escenarios.

La información de credenciales también puede especificarse utilizando los archivos de configuración de máquina y la aplicación. Para obtener más información, vea <elemento mailSettings> (Configuración de red) .

Si la UseDefaultCredentials propiedad se establece false, en , el valor establecido en la Credentials propiedad se usará para las credenciales al conectarse al servidor. Si la UseDefaultCredentials propiedad está establecida false en y la propiedad no se ha establecido, el Credentials correo se envía al servidor de forma anónima.

Precaución

Si proporciona credenciales para la autenticación básica, se envían al servidor en texto claro. Esto puede presentar un problema de seguridad porque otras personas pueden ver las credenciales y, a continuación, usarlas.

Se aplica a

Producto Versiones
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1