SmtpClient.Credentials Propiedad

Definición

Obtiene o establece las credenciales utilizadas para autenticar al remitente.

public:
 property System::Net::ICredentialsByHost ^ Credentials { System::Net::ICredentialsByHost ^ get(); void set(System::Net::ICredentialsByHost ^ value); };
public System.Net.ICredentialsByHost? Credentials { get; set; }
public System.Net.ICredentialsByHost Credentials { get; set; }
member this.Credentials : System.Net.ICredentialsByHost with get, set
Public Property Credentials As ICredentialsByHost

Valor de propiedad

Interfaz ICredentialsByHost que representa las credenciales que se van a utilizar para la autenticación; o null si no se han especificado credenciales.

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 cómo establecer las credenciales usadas para enviar un correo electrónico.

static void CreateTestMessage1( String^ server, int port )
{
   String^ to = L"jane@contoso.com";
   String^ from = L"ben@contoso.com";
   String^ subject = L"Using the new SMTP client.";
   String^ body = L"Using this new feature, you can send an email message from an application very easily.";
   MailMessage^ message = gcnew MailMessage( from,to,subject,body );
   SmtpClient^ client = gcnew SmtpClient( server,port );
   
   // Credentials are necessary if the server requires the client 
   // to authenticate before it will send email on the client's behalf.
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   client->~SmtpClient();
}
public static void CreateTestMessage1(string server, int port)
{
    string to = "jane@contoso.com";
    string from = "ben@contoso.com";
    string subject = "Using the new SMTP client.";
    string body = @"Using this new feature, you can send an email message from an application very easily.";
    MailMessage message = new MailMessage(from, to, subject, body);
    SmtpClient client = new SmtpClient(server, port);
    // Credentials are necessary if the server requires the client
    // to authenticate before it will send email on the client's behalf.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    client.Send(message);
}

Comentarios

Algunos servidores SMTP requieren que el cliente se autentique antes de que el servidor envíe correo electrónico en su nombre. Para usar las credenciales de red predeterminadas, puede establecer en UseDefaultCredentialstrue en lugar de establecer esta propiedad. 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 se establece false en y la Credentials propiedad no se ha establecido, el correo se envía al servidor de forma anónima.

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 se especifica información mediante la Credentials propiedad , esta información invalida los valores del archivo de configuración.

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