SmtpFailedRecipientsException Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
A exceção gerada quando o email é enviado usando um SmtpClient e não pode ser entregue a todos os destinatários.
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.
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
- Herança
- Atributos
- Implementações
Exemplos
O exemplo de código a seguir reenvia uma mensagem de email que não foi entregue porque uma caixa de correio estava ocupada ou indisponível.
static void RetryIfBusy( String^ server )
{
MailAddress^ from = gcnew MailAddress( L"ben@contoso.com" );
MailAddress^ to = gcnew MailAddress( L"jane@contoso.com" );
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"Notifications@contoso.com" );
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("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());
}
}
Comentários
A InnerExceptions propriedade contém as exceções recebidas ao tentar enviar email. O email pode ter sido entregue com êxito a alguns dos destinatários.
Construtores
SmtpFailedRecipientsException() |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Inicializa uma instância vazia da classe SmtpFailedRecipientsException. |
SmtpFailedRecipientsException(SerializationInfo, StreamingContext) |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.
Obsoleto.
Inicializa uma nova instância da classe SmtpFailedRecipientsException das instâncias especificadas das classes SerializationInfo e StreamingContext. |
SmtpFailedRecipientsException(String) |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Inicializa uma nova instância da classe SmtpFailedRecipientsException com o String especificado. |
SmtpFailedRecipientsException(String, Exception) |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Inicializa uma nova instância da classe SmtpFailedRecipientsException com o String especificado e o Exception interno. |
SmtpFailedRecipientsException(String, SmtpFailedRecipientException[]) |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Inicializa uma nova instância da classe SmtpFailedRecipientsException com o String especificado e a matriz do tipo SmtpFailedRecipientException. |
Propriedades
Data |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém uma coleção de pares de chave/valor que fornecem informações definidas pelo usuário adicionais sobre a exceção. (Herdado de Exception) |
FailedRecipient |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Indica o endereço de email com dificuldades de entrega. (Herdado de SmtpFailedRecipientException) |
HelpLink |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém ou define um link para o arquivo de ajuda associado a essa exceção. (Herdado de Exception) |
HResult |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém ou define HRESULT, um valor numérico codificado que é atribuído a uma exceção específica. (Herdado de Exception) |
InnerException |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém a instância Exception que causou a exceção atual. (Herdado de Exception) |
InnerExceptions |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém um ou mais SmtpFailedRecipientExceptions que indicam os destinatários de email com erros de entrega SMTP. |
Message |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém uma mensagem que descreve a exceção atual. (Herdado de Exception) |
Source |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém ou define o nome do aplicativo ou objeto que causa o erro. (Herdado de Exception) |
StackTrace |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém uma representação de cadeia de caracteres de quadros imediatos na pilha de chamadas. (Herdado de Exception) |
StatusCode |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém o código de status retornado por um servidor SMTP quando uma mensagem de email é transmitido. (Herdado de SmtpException) |
TargetSite |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém o método que gerou a exceção atual. (Herdado de Exception) |
Métodos
Equals(Object) |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetBaseException() |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Quando substituído em uma classe derivada, retorna a Exception que é a causa raiz de uma ou mais exceções subsequentes. (Herdado de Exception) |
GetHashCode() |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Serve como a função de hash padrão. (Herdado de Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.
Obsoleto.
Preenche uma instância SerializationInfo com os dados necessários para serializar o SmtpFailedRecipientsException. |
GetType() |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Obtém o tipo de runtime da instância atual. (Herdado de Exception) |
MemberwiseClone() |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Cria e retorna uma representação de cadeia de caracteres da exceção atual. (Herdado de Exception) |
Eventos
SerializeObjectState |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.
Obsoleto.
Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção. (Herdado de Exception) |
Implantações explícitas de interface
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Inicializa uma nova instância da classe SmtpFailedRecipientsException das instâncias SerializationInfo e StreamingContext especificadas. |