SmtpException Classe
Definição
Representa a exceção lançada quando o SmtpClient não consegue concluir uma operação Send ou SendAsync.Represents the exception that is thrown when the SmtpClient is not able to complete a Send or SendAsync operation.
public ref class SmtpException : Exception
public class SmtpException : Exception
[System.Serializable]
public class SmtpException : Exception
type SmtpException = class
inherit Exception
interface ISerializable
[<System.Serializable>]
type SmtpException = class
inherit Exception
interface ISerializable
Public Class SmtpException
Inherits Exception
- Herança
- Derivado
- Atributos
- Implementações
Exemplos
O exemplo de código a seguir exibe uma mensagem de erro quando a SmtpException exceção é lançada.The following code example displays an error message when the SmtpException exception is thrown.
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 StatusCode propriedade contém o código de status retornado pelo servidor SMTP.The StatusCode property contains the status code returned by the SMTP server.
Construtores
| SmtpException() |
Inicializa uma nova instância da classe SmtpException.Initializes a new instance of the SmtpException class. |
| SmtpException(SerializationInfo, StreamingContext) |
Inicializa uma nova instância da classe SmtpException das instâncias especificadas das classes SerializationInfo e StreamingContext.Initializes a new instance of the SmtpException class from the specified instances of the SerializationInfo and StreamingContext classes. |
| SmtpException(SmtpStatusCode) |
Inicializa uma nova instância da classe SmtpException com o código de status especificado.Initializes a new instance of the SmtpException class with the specified status code. |
| SmtpException(SmtpStatusCode, String) |
Inicializa uma nova instância da classe SmtpException com a mensagem de erro e o código de status especificado.Initializes a new instance of the SmtpException class with the specified status code and error message. |
| SmtpException(String) |
Inicializa uma nova instância da classe SmtpException com a mensagem de erro especificada.Initializes a new instance of the SmtpException class with the specified error message. |
| SmtpException(String, Exception) |
Inicializa uma nova instância da classe SmtpException com a exceção interna e a mensagem de erro especificadas.Initializes a new instance of the SmtpException class with the specified error message and inner exception. |
Propriedades
| Data |
Obtém uma coleção de pares de chave/valor que fornecem informações definidas pelo usuário adicionais sobre a exceção.Gets a collection of key/value pairs that provide additional user-defined information about the exception. (Herdado de Exception) |
| HelpLink |
Obtém ou define um link para o arquivo de ajuda associado a essa exceção.Gets or sets a link to the help file associated with this exception. (Herdado de Exception) |
| HResult |
Obtém ou define HRESULT, um valor numérico codificado que é atribuído a uma exceção específica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. (Herdado de Exception) |
| InnerException |
Obtém a instância Exception que causou a exceção atual.Gets the Exception instance that caused the current exception. (Herdado de Exception) |
| Message |
Obtém uma mensagem que descreve a exceção atual.Gets a message that describes the current exception. (Herdado de Exception) |
| Source |
Obtém ou define o nome do aplicativo ou objeto que causa o erro.Gets or sets the name of the application or the object that causes the error. (Herdado de Exception) |
| StackTrace |
Obtém uma representação de cadeia de caracteres de quadros imediatos na pilha de chamadas.Gets a string representation of the immediate frames on the call stack. (Herdado de Exception) |
| StatusCode |
Obtém o código de status retornado por um servidor SMTP quando uma mensagem de email é transmitido.Gets the status code returned by an SMTP server when an email message is transmitted. |
| TargetSite |
Obtém o método que gerou a exceção atual.Gets the method that throws the current exception. (Herdado de Exception) |
Métodos
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object. (Herdado de Object) |
| GetBaseException() |
Quando substituído em uma classe derivada, retorna a Exception que é a causa raiz de uma ou mais exceções subsequentes.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions. (Herdado de Exception) |
| GetHashCode() |
Serve como a função de hash padrão.Serves as the default hash function. (Herdado de Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Popula uma instância de SerializationInfo com os dados necessários para serializar o SmtpException.Populates a SerializationInfo instance with the data needed to serialize the SmtpException. |
| GetType() |
Obtém o tipo de runtime da instância atual.Gets the runtime type of the current instance. (Herdado de Exception) |
| MemberwiseClone() |
Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object. (Herdado de Object) |
| ToString() |
Cria e retorna uma representação de cadeia de caracteres da exceção atual.Creates and returns a string representation of the current exception. (Herdado de Exception) |
Eventos
| SerializeObjectState |
Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception. (Herdado de Exception) |
Implantações explícitas de interface
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Popula uma instância de SerializationInfo com os dados necessários para serializar o SmtpException.Populates a SerializationInfo instance with the data needed to serialize the SmtpException. |