SmtpClient.Timeout Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que especifica la cantidad de tiempo después de la cual se agota el tiempo de espera de una llamada sincrónica Send .
public:
property int Timeout { int get(); void set(int value); };
public int Timeout { get; set; }
member this.Timeout : int with get, set
Public Property Timeout As Integer
Valor de propiedad
que Int32 especifica el valor de tiempo de espera en milisegundos. El valor predeterminado es 100 000 (100 segundos).
Excepciones
El valor especificado para una operación de conjunto era menor que cero.
No se puede cambiar el valor de esta propiedad cuando se envía un 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 .