SmtpFailedRecipientsException Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Исключение, возникающее, когда электронная почта, отправленная с помощью SmtpClient, не может быть доставлена всем адресатам.
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.
public ref class SmtpFailedRecipientsException : System::Net::Mail::SmtpFailedRecipientException
public class SmtpFailedRecipientsException : System.Net.Mail.SmtpFailedRecipientException
[System.Serializable]
public class SmtpFailedRecipientsException : System.Net.Mail.SmtpFailedRecipientException
type SmtpFailedRecipientsException = class
inherit SmtpFailedRecipientException
interface ISerializable
type SmtpFailedRecipientsException = class
inherit SmtpFailedRecipientException
[<System.Serializable>]
type SmtpFailedRecipientsException = class
inherit SmtpFailedRecipientException
interface ISerializable
Public Class SmtpFailedRecipientsException
Inherits SmtpFailedRecipientException
- Наследование
- Атрибуты
- Реализации
Примеры
В следующем примере кода повторно отправляется сообщение электронной почты, которое не было доставлено, так как почтовый ящик был занят или недоступен.
static void RetryIfBusy( String^ server )
{
MailAddress^ from = gcnew MailAddress( L"[email protected]" );
MailAddress^ to = gcnew MailAddress( L"[email protected]" );
MailMessage^ message = gcnew MailMessage( from,to );
// message.Subject = "Using the SmtpClient class.";
message->Subject = L"Using the SmtpClient class.";
message->Body = L"Using this feature, you can send an email message from an application very easily.";
// Add a carbon copy recipient.
MailAddress^ copy = gcnew MailAddress( L"[email protected]" );
message->CC->Add( copy );
SmtpClient^ client = gcnew SmtpClient( server );
// Include credentials if the server requires them.
client->Credentials = dynamic_cast<ICredentialsByHost^>(CredentialCache::DefaultNetworkCredentials);
Console::WriteLine( L"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( L"Delivery failed - retrying in 5 seconds." );
System::Threading::Thread::Sleep( 5000 );
client->Send( message );
}
else
{
Console::WriteLine( L"Failed to deliver message to {0}", ex->InnerExceptions[ i ] );
}
}
}
catch ( Exception^ ex )
{
Console::WriteLine(L"Exception caught in RetryIfBusy(): {0}",
ex->ToString() );
}
finally
{
client->~SmtpClient();
}
}
public static void RetryIfBusy(string server)
{
MailAddress from = new MailAddress("[email protected]");
MailAddress to = new MailAddress("[email protected]");
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("[email protected]");
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());
}
}
Комментарии
Свойство InnerExceptions содержит исключения, полученные при попытке отправки электронной почты. Возможно, сообщение электронной почты было успешно доставлено некоторым получателям.
Конструкторы
SmtpFailedRecipientsException() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Инициализирует пустой экземпляр класса SmtpFailedRecipientsException. |
SmtpFailedRecipientsException(SerializationInfo, StreamingContext) |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.
Устаревшие..
Инициализирует новый экземпляр класса SmtpFailedRecipientsException на основе указанных экземпляров классов SerializationInfo и StreamingContext. |
SmtpFailedRecipientsException(String) |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Инициализирует новый экземпляр класса SmtpFailedRecipientsException указанным значением String. |
SmtpFailedRecipientsException(String, Exception) |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Инициализирует новый экземпляр класса SmtpFailedRecipientsException с указанным значением String и внутренним Exception. |
SmtpFailedRecipientsException(String, SmtpFailedRecipientException[]) |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Инициализирует новый экземпляр класса SmtpFailedRecipientsException с указанным значением String и массивом типа SmtpFailedRecipientException. |
Свойства
Data |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает коллекцию пар «ключ-значение», предоставляющую дополнительные сведения об исключении. (Унаследовано от Exception) |
FailedRecipient |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Указывает адрес электронной почты с проблемами доставки. (Унаследовано от SmtpFailedRecipientException) |
HelpLink |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Получает или задает ссылку на файл справки, связанный с этим исключением. (Унаследовано от Exception) |
HResult |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает или задает HRESULT — кодированное числовое значение, присвоенное определенному исключению. (Унаследовано от Exception) |
InnerException |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает экземпляр класса Exception, который вызвал текущее исключение. (Унаследовано от Exception) |
InnerExceptions |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает один или несколько объектов SmtpFailedRecipientException, указывающих получателей электронной почты с ошибками доставки SMTP. |
Message |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает сообщение, описывающее текущее исключение. (Унаследовано от Exception) |
Source |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает или задает имя приложения или объекта, вызывавшего ошибку. (Унаследовано от Exception) |
StackTrace |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Получает строковое представление непосредственных кадров в стеке вызова. (Унаследовано от Exception) |
StatusCode |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает код состояния, возвращаемый сервером SMTP при передаче сообщения электронной почты. (Унаследовано от SmtpException) |
TargetSite |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает метод, создавший текущее исключение. (Унаследовано от Exception) |
Методы
Equals(Object) |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetBaseException() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. При переопределении в производном классе возвращает исключение Exception, которое является первопричиной одного или нескольких последующих исключений. (Унаследовано от Exception) |
GetHashCode() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.
Устаревшие..
Заполняет экземпляр SerializationInfo данными, необходимыми для сериализации объекта SmtpFailedRecipientsException. |
GetType() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Возвращает тип среды выполнения текущего экземпляра. (Унаследовано от Exception) |
MemberwiseClone() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Создает и возвращает строковое представление текущего исключения. (Унаследовано от Exception) |
События
SerializeObjectState |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.
Устаревшие..
Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении. (Унаследовано от Exception) |
Явные реализации интерфейса
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Инициализирует новый экземпляр класса SmtpFailedRecipientsException из указанных экземпляров SerializationInfo и StreamingContext. |