Freigeben über


SmtpClient.Timeout Eigenschaft

Definition

Ruft einen Wert ab, der die Zeitspanne bis zum Timeout eines synchronen Send-Aufrufs angibt, oder legt diesen fest.

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

Eigenschaftswert

Ein Int32, das den Timeoutwert in Millisekunden angibt. Der Standardwert ist 100.000 (100 Sekunden).

Ausnahmen

Der für einen set-Vorgang angegebene Wert war kleiner als 0 (null).

Sie können den Wert dieser Eigenschaft nicht ändern, während eine E-Mail-Nachricht gesendet wird.

Beispiele

Im folgenden Codebeispiel wird das Abrufen und Festlegen des Timeoutwerts veranschaulicht.

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

Hinweise

Standardmäßig werden Aufrufe der Send -Methode blockiert, bis der Vorgang abgeschlossen ist. Wenn Sie die Timeout -Eigenschaft auf einen positiven Wert festlegen und ein Send Vorgang nicht in der zugewiesenen Zeit abgeschlossen werden kann, löst die SmtpClient -Klasse eine Ausnahme aus SmtpException .

Verwenden Sie SendAsync die -Methode, um eine Nachricht zu senden und die Ausführung im Anwendungsthread fortzusetzen.

Gilt für: