SmtpClient.Timeout Property
Gets or sets a value that specifies the amount of time after which a synchronous Send call times out.
Namespace: System.Net.Mail
Assembly: System (in System.dll)
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | The value specified for a set operation was less than zero. |
| InvalidOperationException | You cannot change the value of this property when an email is being sent. |
By default, calls to the Send method block until the operation completes. If you set the Timeout property to a positive value, and a Send operation cannot complete in the allotted time, the SmtpClient class throws an SmtpException exception.
To send a message and continue executing in the application thread, use the SendAsync method.
The following code example demonstrates getting and setting the time-out value.
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 e-mail 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 e-mail on the client's behalf. client.Credentials = CredentialCache.DefaultNetworkCredentials; try { client.Send(message); } catch (Exception ex) { Console.WriteLine("Exception caught in CreateTimeoutTestMessage(): {0}", ex.ToString() ); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.