SmtpClient.Timeout 屬性

定義

取得或設定值,指定同步 Send 呼叫逾時的時間長度。Gets or sets a value that specifies the amount of time after which a synchronous Send call times out.

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

屬性值

Int32

Int32,指定以毫秒為單位的逾時值。An Int32 that specifies the time-out value in milliseconds. 預設值為 100,000 (100 秒)。The default value is 100,000 (100 seconds).

例外狀況

為設定作業指定的值小於零。The value specified for a set operation was less than zero.

正在傳送電子郵件時,無法變更這個屬性的值。You cannot change the value of this property when an email is being sent.

範例

下列程式碼範例將示範如何取得和設定超時值。The following code example demonstrates getting and setting the time-out value.

static void CreateTimeoutTestMessage( String^ server )
{
   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 );
   Console::WriteLine( L"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 );
}


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);
}

備註

依預設,呼叫方法會 Send 封鎖,直到作業完成為止。By default, calls to the Send method block until the operation completes. 如果您將 Timeout 屬性設定為正值,而作業 Send 無法在分配的時間內完成,則類別會擲回 SmtpClient SmtpException 例外狀況。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.

若要傳送訊息並繼續在應用程式執行緒中執行,請使用 SendAsync 方法。To send a message and continue executing in the application thread, use the SendAsync method.

適用於