SmtpFailedRecipientsException Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Excepción que se produce cuando se envía un correo electrónico mediante un SmtpClient y no se puede entregar a todos los destinatarios.
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el 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
- Herencia
- Atributos
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se vuelve a enviar un mensaje de correo electrónico que no se entregó porque un buzón estaba ocupado o no disponible.
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());
}
}
Comentarios
La propiedad InnerExceptions contiene las excepciones recibidas al intentar enviar correo electrónico. Es posible que el correo electrónico se haya entregado correctamente a algunos de los destinatarios.
Constructores
SmtpFailedRecipientsException() |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Inicializa una instancia vacía de la clase SmtpFailedRecipientsException. |
SmtpFailedRecipientsException(SerializationInfo, StreamingContext) |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.
Obsoletos.
Inicializa una nueva instancia de la clase SmtpFailedRecipientsException a partir de las instancias especificadas de las clases SerializationInfo y StreamingContext especificadas. |
SmtpFailedRecipientsException(String, Exception) |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Inicializa una nueva instancia de la clase SmtpFailedRecipientsException con el String y el Exceptioninterno especificados. |
SmtpFailedRecipientsException(String, SmtpFailedRecipientException[]) |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Inicializa una nueva instancia de la clase SmtpFailedRecipientsException con el String especificado y la matriz de tipo SmtpFailedRecipientException. |
SmtpFailedRecipientsException(String) |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Inicializa una nueva instancia de la clase SmtpFailedRecipientsException con el Stringespecificado. |
Propiedades
Data |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene una colección de pares clave-valor que proporcionan información adicional definida por el usuario sobre la excepción. (Heredado de Exception) |
FailedRecipient |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Indica la dirección de correo electrónico con dificultades de entrega. (Heredado de SmtpFailedRecipientException) |
HelpLink |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción. (Heredado de Exception) |
HResult |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica. (Heredado de Exception) |
InnerException |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene la instancia de Exception que provocó la excepción actual. (Heredado de Exception) |
InnerExceptions |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene uno o varios SmtpFailedRecipientExceptions que indican los destinatarios del correo electrónico con errores de entrega SMTP. |
Message |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene un mensaje que describe la excepción actual. (Heredado de Exception) |
Source |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene o establece el nombre de la aplicación o el objeto que provoca el error. (Heredado de Exception) |
StackTrace |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene una representación de cadena de los fotogramas inmediatos en la pila de llamadas. (Heredado de Exception) |
StatusCode |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene el código de estado devuelto por un servidor SMTP cuando se transmite un mensaje de correo electrónico. (Heredado de SmtpException) |
TargetSite |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene el método que produce la excepción actual. (Heredado de Exception) |
Métodos
Equals(Object) |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
GetBaseException() |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Cuando se reemplaza en una clase derivada, devuelve el Exception que es la causa principal de una o varias excepciones posteriores. (Heredado de Exception) |
GetHashCode() |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Actúa como función hash predeterminada. (Heredado de Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.
Obsoletos.
Rellena una instancia de SerializationInfo con los datos necesarios para serializar el SmtpFailedRecipientsException. |
GetType() |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Obtiene el tipo de tiempo de ejecución de la instancia actual. (Heredado de Exception) |
MemberwiseClone() |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Crea una copia superficial del Objectactual. (Heredado de Object) |
ToString() |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Crea y devuelve una representación de cadena de la excepción actual. (Heredado de Exception) |
Eventos
SerializeObjectState |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.
Obsoletos.
Se produce cuando se serializa una excepción para crear un objeto de estado de excepción que contiene datos serializados sobre la excepción. (Heredado de Exception) |
Implementaciones de interfaz explícitas
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código. Inicializa una nueva instancia de la clase SmtpFailedRecipientsException a partir de las instancias de SerializationInfo y StreamingContext especificadas. |