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


SmtpException Класс

Определение

Представляет исключение, которое возникает, когда SmtpClient не удается завершить Send или SendAsync выполнить операцию.

public ref class SmtpException : Exception
public class SmtpException : Exception
[System.Serializable]
public class SmtpException : Exception
type SmtpException = class
    inherit Exception
type SmtpException = class
    inherit Exception
    interface ISerializable
[<System.Serializable>]
type SmtpException = class
    inherit Exception
    interface ISerializable
Public Class SmtpException
Inherits Exception
Наследование
SmtpException
Производный
Атрибуты
Реализации

Примеры

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

public static void RetryIfBusy(string server)
{
    MailAddress from = new MailAddress("ben@contoso.com");
    MailAddress to = new MailAddress("jane@contoso.com");
    MailMessage message = new MailMessage(from, to);
    // message.Subject = "Using the SmtpClient class.";
    message.Subject = "Using the SmtpClient class.";
    message.Body = @"Using this feature, you can send an email message from an application very easily.";
    // Add a carbon copy recipient.
    MailAddress copy = new MailAddress("Notifications@contoso.com");
    message.CC.Add(copy);
    SmtpClient client = new SmtpClient(server);
    // Include credentials if the server requires them.
    client.Credentials = (ICredentialsByHost)CredentialCache.DefaultNetworkCredentials;
    Console.WriteLine("Sending an email message to {0} using the SMTP host {1}.",
         to.Address, client.Host);
    try
    {
        client.Send(message);
    }
    catch (SmtpFailedRecipientsException ex)
    {
        for (int i = 0; i < ex.InnerExceptions.Length; i++)
        {
            SmtpStatusCode status = ex.InnerExceptions[i].StatusCode;
            if (status == SmtpStatusCode.MailboxBusy ||
                status == SmtpStatusCode.MailboxUnavailable)
            {
                Console.WriteLine("Delivery failed - retrying in 5 seconds.");
                System.Threading.Thread.Sleep(5000);
                client.Send(message);
            }
            else
            {
                Console.WriteLine("Failed to deliver message to {0}",
                    ex.InnerExceptions[i].FailedRecipient);
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in RetryIfBusy(): {0}",
                ex.ToString());
    }
}

Комментарии

Свойство StatusCode содержит код состояния, возвращаемый SMTP-сервером.

Конструкторы

Имя Описание
SmtpException()

Инициализирует новый экземпляр класса SmtpException.

SmtpException(SerializationInfo, StreamingContext)
Устаревшие..

Инициализирует новый экземпляр SmtpException класса из указанных экземпляров SerializationInfo и StreamingContext классов.

SmtpException(SmtpStatusCode, String)

Инициализирует новый экземпляр SmtpException класса с указанным кодом состояния и сообщением об ошибке.

SmtpException(SmtpStatusCode)

Инициализирует новый экземпляр SmtpException класса с указанным кодом состояния.

SmtpException(String, Exception)

Инициализирует новый экземпляр SmtpException класса с указанным сообщением об ошибке и внутренним исключением.

SmtpException(String)

Инициализирует новый экземпляр SmtpException класса с указанным сообщением об ошибке.

Свойства

Имя Описание
Data

Возвращает коллекцию пар "ключ-значение", которые предоставляют дополнительные пользовательские сведения об исключении.

(Унаследовано от Exception)
HelpLink

Возвращает или задает ссылку на файл справки, связанный с этим исключением.

(Унаследовано от Exception)
HResult

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

(Унаследовано от Exception)
InnerException

Exception Возвращает экземпляр, вызвавшего текущее исключение.

(Унаследовано от Exception)
Message

Возвращает сообщение, описывающее текущее исключение.

(Унаследовано от Exception)
Source

Возвращает или задает имя приложения или объекта, вызывающего ошибку.

(Унаследовано от Exception)
StackTrace

Возвращает строковое представление непосредственных кадров в стеке вызовов.

(Унаследовано от Exception)
StatusCode

Возвращает код состояния, возвращаемый SMTP-сервером при передаче сообщения электронной почты.

TargetSite

Возвращает метод, который вызывает текущее исключение.

(Унаследовано от Exception)

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetBaseException()

При переопределении в производном классе возвращает Exception первопричину одного или нескольких последующих исключений.

(Унаследовано от Exception)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)
Устаревшие..

Заполняет экземпляр данными SerializationInfo , необходимыми для сериализации SmtpException.

GetType()

Возвращает тип среды выполнения текущего экземпляра.

(Унаследовано от Exception)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

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

(Унаследовано от Exception)

События

Имя Описание
SerializeObjectState
Устаревшие..

Происходит при сериализации исключения для создания объекта состояния исключения, содержащего сериализованные данные об исключении.

(Унаследовано от Exception)

Явные реализации интерфейса

Имя Описание
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Заполняет экземпляр данными SerializationInfo , необходимыми для сериализации SmtpException.

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