Прочитать на английском

Поделиться через


SmtpClient.Timeout Свойство

Определение

Возвращает или задает значение, указывающее промежуток времени, после которого для синхронного вызова Send истечет время тайм-аута.

public int Timeout { get; set; }

Значение свойства

Значение Int32, указывающее значение тайм-аута в миллисекундах. По умолчанию установлено значение 100,000 (100 секунд).

Исключения

Значение, указанное для операции присвоения, меньше нуля.

Значение этого свойства нельзя изменить во время отправки электронной почты.

Примеры

В следующем примере кода показано получение и установка значения времени ожидания.

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 блок метода до завершения операции. Если для свойства задано Timeout положительное значение и Send операция не может завершиться в отведенное время, SmtpClient класс создает SmtpException исключение.

Чтобы отправить сообщение и продолжить выполнение в потоке приложения, используйте SendAsync метод .

Применяется к

Продукт Версии
.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