SmtpClient.Timeout Propiedad

Definición

Obtiene o establece un valor que especifica el intervalo de tiempo a partir del cual se considera que una llamada a Send sincrónica excede el tiempo de espera.

public int Timeout { get; set; }

Valor de propiedad

Valor Int32 que especifica el valor de tiempo de espera en milisegundos. El valor predeterminado es 100.000 (100 segundos).

Excepciones

El valor que se especificó para una operación de establecimiento era menor que cero.

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 obtener y establecer el valor de tiempo de espera.

public static void CreateTimeoutTestMessage(string server)
{
    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);
    Console.WriteLine("Changing time out from {0} to 100.", client.Timeout);
    client.Timeout = 100;
    // 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

De forma predeterminada, llama al bloque de Send métodos hasta que se completa la operación. Si establece la Timeout propiedad en un valor positivo y una Send operación no se puede completar en el tiempo asignado, la SmtpClient clase produce una SmtpException excepción.

Para enviar un mensaje y continuar ejecutándose en el subproceso de la aplicación, use el SendAsync método .

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