SmtpFailedRecipientsException SmtpFailedRecipientsException SmtpFailedRecipientsException SmtpFailedRecipientsException Class

定义

当使用 SmtpClient 发送的电子邮件无法传递给所有收件人时引发的异常。The exception that is thrown when email is sent using an SmtpClient and cannot be delivered to all recipients.

此 API 支持产品基础结构,不能在代码中直接使用。

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
继承
属性
实现

示例

下面的代码示例重新发送由于邮箱繁忙或不可用而无法传递的电子邮件。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() );
          }
      }

注解

InnerExceptions属性包含尝试发送电子邮件时收到的异常。The InnerExceptions property contains the exceptions received while attempting to send email. 电子邮件可能已成功传递到某些收件人。The email might have been successfully delivered to some of the recipients.

构造函数

SmtpFailedRecipientsException() SmtpFailedRecipientsException() SmtpFailedRecipientsException() SmtpFailedRecipientsException()

初始化 SmtpFailedRecipientsException 类的空实例。Initializes an empty instance of the SmtpFailedRecipientsException class.

SmtpFailedRecipientsException(SerializationInfo, StreamingContext) SmtpFailedRecipientsException(SerializationInfo, StreamingContext) SmtpFailedRecipientsException(SerializationInfo, StreamingContext) SmtpFailedRecipientsException(SerializationInfo, StreamingContext)

SmtpFailedRecipientsExceptionSerializationInfo 类的指定实例初始化 StreamingContext 类的新实例。Initializes a new instance of the SmtpFailedRecipientsException class from the specified instances of the SerializationInfo and StreamingContext classes.

SmtpFailedRecipientsException(String) SmtpFailedRecipientsException(String) SmtpFailedRecipientsException(String) SmtpFailedRecipientsException(String)

使用指定的 SmtpFailedRecipientsException 初始化 String 类的新实例。Initializes a new instance of the SmtpFailedRecipientsException class with the specified String.

SmtpFailedRecipientsException(String, Exception) SmtpFailedRecipientsException(String, Exception) SmtpFailedRecipientsException(String, Exception) SmtpFailedRecipientsException(String, Exception)

使用指定的 String 和内部 Exception 初始化 SmtpFailedRecipientsException 类的新实例。Initializes a new instance of the SmtpFailedRecipientsException class with the specified String and inner Exception.

SmtpFailedRecipientsException(String, SmtpFailedRecipientException[]) SmtpFailedRecipientsException(String, SmtpFailedRecipientException[]) SmtpFailedRecipientsException(String, SmtpFailedRecipientException[]) SmtpFailedRecipientsException(String, SmtpFailedRecipientException[])

使用指定的 String 和类型为 SmtpFailedRecipientException 的数组初始化 SmtpFailedRecipientsException 类的新实例。Initializes a new instance of the SmtpFailedRecipientsException class with the specified String and array of type SmtpFailedRecipientException.

属性

Data Data Data Data

获取提供有关异常的其他用户定义信息的键/值对集合。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
FailedRecipient FailedRecipient FailedRecipient FailedRecipient

指示有发送困难的电子邮件地址。Indicates the email address with delivery difficulties.

(Inherited from SmtpFailedRecipientException)
HelpLink HelpLink HelpLink HelpLink

获取或设置指向与此异常关联的帮助文件链接。Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

获取或设置 HRESULT(一个分配给特定异常的编码数字值)。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

获取导致当前异常的 Exception 实例。Gets the Exception instance that caused the current exception.

(Inherited from Exception)
InnerExceptions InnerExceptions InnerExceptions InnerExceptions

获取一个或多个 SmtpFailedRecipientException,指示存在 SMTP 传递错误的电子邮件收件人。Gets one or more SmtpFailedRecipientExceptions that indicate the email recipients with SMTP delivery errors.

Message Message Message Message

获取描述当前异常的消息。Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

获取或设置导致错误的应用程序或对象的名称。Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

获取调用堆栈上的即时框架字符串表示形式。Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
StatusCode StatusCode StatusCode StatusCode

获取传输电子邮件时由 SMTP 服务器返回的状态代码。Gets the status code returned by an SMTP server when an email message is transmitted.

(Inherited from SmtpException)
TargetSite TargetSite TargetSite TargetSite

获取引发当前异常的方法。Gets the method that throws the current exception.

(Inherited from Exception)

方法

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

确定指定的对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

当在派生类中重写时,返回 Exception,它是一个或多个并发的异常的根源。When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

作为默认哈希函数。Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

用序列化 SmtpFailedRecipientsException 所需的数据来填充 SerializationInfo 实例。Populates a SerializationInfo instance with the data that is needed to serialize the SmtpFailedRecipientsException.

GetType() GetType() GetType() GetType()

获取当前实例的运行时类型。Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

创建并返回当前异常的字符串表示形式。Creates and returns a string representation of the current exception.

(Inherited from Exception)

显式界面实现

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

根据指定的 SerializationInfoStreamingContext 实例初始化 SmtpFailedRecipientsException 类的新实例。Initializes a new instance of the SmtpFailedRecipientsException class from the specified SerializationInfo and StreamingContext instances.

事件

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

当异常被序列化用来创建包含有关该异常的徐列出数据的异常状态对象时会出现该问题。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

适用于