SmtpFailedRecipientsException Class

 

This API supports the product infrastructure and is not intended to be used directly from your code.

The exception that is thrown when e-mail is sent using an SmtpClient and cannot be delivered to all recipients.

Namespace:   System.Net.Mail
Assembly:  System (in System.dll)

System.Object
  System.Exception
    System.Net.Mail.SmtpException
      System.Net.Mail.SmtpFailedRecipientException
        System.Net.Mail.SmtpFailedRecipientsException

[SerializableAttribute]
public class SmtpFailedRecipientsException : SmtpFailedRecipientException, 
	ISerializable

NameDescription
System_CAPS_pubmethodSmtpFailedRecipientsException()

This API supports the product infrastructure and is not intended to be used directly from your code. Initializes an empty instance of the SmtpFailedRecipientsException class.

System_CAPS_protmethodSmtpFailedRecipientsException(SerializationInfo, StreamingContext)

This API supports the product infrastructure and is not intended to be used directly from your code. Initializes a new instance of the SmtpFailedRecipientsException class from the specified instances of the SerializationInfo and StreamingContext classes.

System_CAPS_pubmethodSmtpFailedRecipientsException(String)

This API supports the product infrastructure and is not intended to be used directly from your code. Initializes a new instance of the SmtpFailedRecipientsException class with the specified String.

System_CAPS_pubmethodSmtpFailedRecipientsException(String, Exception)

This API supports the product infrastructure and is not intended to be used directly from your code. Initializes a new instance of the SmtpFailedRecipientsException class with the specified String and inner Exception.

System_CAPS_pubmethodSmtpFailedRecipientsException(String, SmtpFailedRecipientException[])

This API supports the product infrastructure and is not intended to be used directly from your code. Initializes a new instance of the SmtpFailedRecipientsException class with the specified String and array of type SmtpFailedRecipientException.

NameDescription
System_CAPS_pubpropertyData

Gets a collection of key/value pairs that provide additional user-defined information about the exception.(Inherited from Exception.)

System_CAPS_pubpropertyFailedRecipient

Indicates the e-mail address with delivery difficulties.(Inherited from SmtpFailedRecipientException.)

System_CAPS_pubpropertyHelpLink

Gets or sets a link to the help file associated with this exception.(Inherited from Exception.)

System_CAPS_pubpropertyHResult

Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.(Inherited from Exception.)

System_CAPS_pubpropertyInnerException

Gets the Exception instance that caused the current exception.(Inherited from Exception.)

System_CAPS_pubpropertyInnerExceptions

This API supports the product infrastructure and is not intended to be used directly from your code. Gets one or more SmtpFailedRecipientExceptions that indicate the e-mail recipients with SMTP delivery errors.

System_CAPS_pubpropertyMessage

Gets a message that describes the current exception.(Inherited from Exception.)

System_CAPS_pubpropertySource

Gets or sets the name of the application or the object that causes the error.(Inherited from Exception.)

System_CAPS_pubpropertyStackTrace

Gets a string representation of the immediate frames on the call stack.(Inherited from Exception.)

System_CAPS_pubpropertyStatusCode

Gets the status code returned by an SMTP server when an e-mail message is transmitted.(Inherited from SmtpException.)

System_CAPS_pubpropertyTargetSite

Gets the method that throws the current exception.(Inherited from Exception.)

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetBaseException()

When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.(Inherited from Exception.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

This API supports the product infrastructure and is not intended to be used directly from your code. Populates a SerializationInfo instance with the data that is needed to serialize the SmtpFailedRecipientsException.(Overrides SmtpFailedRecipientException.GetObjectData(SerializationInfo, StreamingContext).)

System_CAPS_pubmethodGetType()

Gets the runtime type of the current instance.(Inherited from Exception.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Creates and returns a string representation of the current exception.(Inherited from Exception.)

NameDescription
System_CAPS_proteventSerializeObjectState

Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.(Inherited from Exception.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodISerializable.GetObjectData(SerializationInfo, StreamingContext)

This API supports the product infrastructure and is not intended to be used directly from your code. Initializes a new instance of the SmtpFailedRecipientsException class from the specified SerializationInfo and StreamingContext instances.

The InnerExceptions property contains the exceptions received while attempting to send e-mail. The e-mail might have been successfully delivered to some of the recipients.

The following code example resends an e-mail message that was not delivered because a mailbox was busy or unavailable.

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 e-mail 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 e-mail 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() );
          }
      }

.NET Framework
Available since 2.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: