SmtpFailedRecipientsException Clase

Definición

Excepción que se genera al enviar correo electrónico con un elemento SmtpClient y no se puede entregar a todos los destinatarios.The exception that is thrown when email is sent using an SmtpClient and cannot be delivered to all recipients.

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
[System.Serializable]
public class SmtpFailedRecipientsException : System.Net.Mail.SmtpFailedRecipientException
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 estaba disponible.The following code example resends an email message that was not delivered because a mailbox was busy or unavailable.

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 InnerExceptions propiedad contiene las excepciones recibidas al intentar enviar un correo electrónico.The InnerExceptions property contains the exceptions received while attempting to send email. Es posible que el correo electrónico se haya entregado correctamente a algunos de los destinatarios.The email might have been successfully delivered to some of the recipients.

Constructores

SmtpFailedRecipientsException()

Inicializa una instancia vacía de la clase SmtpFailedRecipientsException.Initializes an empty instance of the SmtpFailedRecipientsException class.

SmtpFailedRecipientsException(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase SmtpFailedRecipientsException desde las instancias especificadas de las clases SerializationInfo y StreamingContext.Initializes a new instance of the SmtpFailedRecipientsException class from the specified instances of the SerializationInfo and StreamingContext classes.

SmtpFailedRecipientsException(String)

Inicializa una nueva instancia de la clase SmtpFailedRecipientsException con el objeto String especificado.Initializes a new instance of the SmtpFailedRecipientsException class with the specified String.

SmtpFailedRecipientsException(String, Exception)

Inicializa una nueva instancia de la clase SmtpFailedRecipientsException con los valores especificados de String y Exception interna.Initializes a new instance of the SmtpFailedRecipientsException class with the specified String and inner Exception.

SmtpFailedRecipientsException(String, SmtpFailedRecipientException[])

Inicializa una nueva instancia de la clase SmtpFailedRecipientsException con la String especificada y la matriz de objetos SmtpFailedRecipientException especificados.Initializes a new instance of the SmtpFailedRecipientsException class with the specified String and array of type SmtpFailedRecipientException.

Propiedades

Data

Obtiene una colección de pares clave-valor que proporcionan más información definida por el usuario sobre la excepción.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Heredado de Exception)
FailedRecipient

Indica la dirección de correo electrónico con problemas de entrega.Indicates the email address with delivery difficulties.

(Heredado de SmtpFailedRecipientException)
HelpLink

Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.Gets or sets a link to the help file associated with this exception.

(Heredado de Exception)
HResult

Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Heredado de Exception)
InnerException

Obtiene la instancia Exception que produjo la excepción actual.Gets the Exception instance that caused the current exception.

(Heredado de Exception)
InnerExceptions

Obtiene uno o más elementos SmtpFailedRecipientException que indican los destinatarios de correo electrónico con errores de entrega SMTP.Gets one or more SmtpFailedRecipientExceptions that indicate the email recipients with SMTP delivery errors.

Message

Obtiene un mensaje que describe la excepción actual.Gets a message that describes the current exception.

(Heredado de Exception)
Source

Devuelve o establece el nombre de la aplicación o del objeto que generó el error.Gets or sets the name of the application or the object that causes the error.

(Heredado de Exception)
StackTrace

Obtiene una representación de cadena de los marcos inmediatos en la pila de llamadas.Gets a string representation of the immediate frames on the call stack.

(Heredado de Exception)
StatusCode

Obtiene el código de estado devuelto por un servidor SMTP cuando se transmite un mensaje de correo electrónico.Gets the status code returned by an SMTP server when an email message is transmitted.

(Heredado de SmtpException)
TargetSite

Obtiene el método que produjo la excepción actual.Gets the method that throws the current exception.

(Heredado de Exception)

Métodos

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetBaseException()

Cuando se reemplaza en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Heredado de Exception)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Rellena una instancia de SerializationInfo con los datos necesarios para serializar la excepción SmtpFailedRecipientsException.Populates a SerializationInfo instance with the data that is needed to serialize the SmtpFailedRecipientsException.

GetType()

Obtiene el tipo de tiempo de ejecución de la instancia actual.Gets the runtime type of the current instance.

(Heredado de Exception)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Crea y devuelve una representación de cadena de la excepción actual.Creates and returns a string representation of the current exception.

(Heredado de Exception)

Eventos

SerializeObjectState

Ocurre cuando una excepción se serializa para crear un objeto de estado de excepción que contenga datos serializados sobre la excepción.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Heredado de Exception)

Implementaciones de interfaz explícitas

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase SmtpFailedRecipientsException desde las instancias StreamingContext y SerializationInfo.Initializes a new instance of the SmtpFailedRecipientsException class from the specified SerializationInfo and StreamingContext instances.

Se aplica a