SmtpStatusCode Enumeração

Definição

Especifica o resultado do envio de emails usando a classe SmtpClient.

public enum class SmtpStatusCode
public enum SmtpStatusCode
type SmtpStatusCode = 
Public Enum SmtpStatusCode
Herança
SmtpStatusCode

Campos

BadCommandSequence 503

Os comandos foram enviados na sequência incorreta.

CannotVerifyUserWillAttemptDelivery 252

O usuário especificado não é local, mas o serviço SMTP de recebimento aceitou a mensagem e tentou entregá-la. Esse código de status é definido no RFC 1123, que está disponível em https://www.ietf.org.

ClientNotPermitted 454

O cliente não foi autenticado ou não tem permissão para enviar emails usando o host SMTP especificado.

CommandNotImplemented 502

O serviço SMTP não implementa o comando especificado.

CommandParameterNotImplemented 504

O serviço SMTP não implementa o parâmetro do comando especificado.

CommandUnrecognized 500

O serviço SMTP não reconhece o comando especificado.

ExceededStorageAllocation 552

A mensagem é muito grande para ser armazenada na caixa de correio de destino.

GeneralFailure -1

Não foi possível realizar a transação. Você recebe esse erro quando o host SMTP especificado não pode ser encontrado.

HelpMessage 214

O serviço retornou uma mensagem de Ajuda.

InsufficientStorage 452

O serviço SMTP não tem armazenamento suficiente para concluir a solicitação.

LocalErrorInProcessing 451

O serviço SMTP não pode concluir a solicitação. Esse erro poderá ocorrer se o endereço IP do cliente não puder ser resolvido (ou seja, no caso de falha de uma pesquisa inversa). Você também poderá receber esse erro se o domínio do cliente tiver sido identificado como uma retransmissão aberta ou como a origem de emails não solicitados (spam). Para obter detalhes, confira o RFC 2505, que está disponível em https://www.ietf.org.

MailboxBusy 450

A caixa de correio de destino está em uso.

MailboxNameNotAllowed 553

A sintaxe usada para especificar a caixa de correio de destino está incorreta.

MailboxUnavailable 550

A caixa de correio de destino não foi encontrada ou não pôde ser acessada.

MustIssueStartTlsFirst 530

O servidor SMTP está configurado para aceitar apenas conexões TLS e o cliente SMTP está tentando se conectar usando uma conexão não TLS. A solução é o usuário definir EnableSsl = true no Cliente SMTP.

Ok 250

O email foi enviado com êxito para o serviço SMTP.

ServiceClosingTransmissionChannel 221

O serviço SMTP está fechando o canal de transmissão.

ServiceNotAvailable 421

O serviço SMTP não está disponível; o servidor está fechando o canal de transmissão.

ServiceReady 220

O serviço SMTP está pronto.

StartMailInput 354

O serviço SMTP está pronto para receber o conteúdo do email.

SyntaxError 501

A sintaxe usada para especificar um comando ou parâmetro está incorreta.

SystemStatus 211

Uma resposta da Ajuda do sistema ou de status do sistema.

TransactionFailed 554

Falha na transação.

UserNotLocalTryAlternatePath 551

A caixa de correio do usuário não está localizada no servidor de recebimento. Reenvie usando as informações de endereço fornecidas.

UserNotLocalWillForward 251

A caixa de correio do usuário não está localizada no servidor de recebimento; o servidor encaminha o email.

Exemplos

O exemplo de código a seguir exibe uma mensagem de erro no console quando um SmtpException é lançado.

static void CreateMessageWithAttachment3( String^ server, String^ to )
{
   
   // Specify the file to be attached and sent.
   // This example assumes that a file named data.xls exists in the
   // current working directory.
   String^ file = L"data.xls";
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"ReportMailer@contoso.com",to,L"Quarterly data report",L"See the attached spreadsheet." );
   
   // Create  the file attachment for this email message.
   Attachment^ data = gcnew Attachment("Qtr3.xls");
   
   
   // Add time stamp information for the file.
   ContentDisposition^ disposition = data->ContentDisposition;
   disposition->CreationDate = System::IO::File::GetCreationTime( file );
   disposition->ModificationDate = System::IO::File::GetLastWriteTime( file );
   disposition->ReadDate = System::IO::File::GetLastAccessTime( file );
   
   // Add the file attachment to this email message.
   message->Attachments->Add( data );
   
   //Send the message.
   SmtpClient^ client = gcnew SmtpClient( server );
   
   // Add credentials if the SMTP server requires them.
   client->Credentials = dynamic_cast<ICredentialsByHost^>(CredentialCache::DefaultNetworkCredentials);
   
   // Notify user if an error occurs.
   try
   {
      client->Send( message );
   }
   catch ( SmtpException^ e ) 
   {
      Console::WriteLine( L"Error: {0}", e->StatusCode );
   }
   finally
   {
      data->~Attachment();
      client->~SmtpClient();
   }

}
public static void CreateMessageWithAttachment3(string server, string to)
{
    // Specify the file to be attached and sent.
    // This example assumes that a file named Data.xls exists in the
    // current working directory.
    string file = "data.xls";
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
       "ReportMailer@contoso.com",
       to,
       "Quarterly data report",
       "See the attached spreadsheet.");

    // Create  the file attachment for this email message.
    Attachment data = new Attachment("Qtr3.xls");
    // Add time stamp information for the file.
    ContentDisposition disposition = data.ContentDisposition;
    disposition.CreationDate = System.IO.File.GetCreationTime(file);
    disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
    disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
    // Add the file attachment to this email message.
    message.Attachments.Add(data);
    //Send the message.
    SmtpClient client = new SmtpClient(server);
    // Add credentials if the SMTP server requires them.
    client.Credentials = (ICredentialsByHost)CredentialCache.DefaultNetworkCredentials;
    // Notify user if an error occurs.
    try
    {
        client.Send(message);
    }
    catch (SmtpException e)
    {
        Console.WriteLine("Error: {0}", e.StatusCode);
    }
    finally
    {
        data.Dispose();
    }
}

Comentários

Os valores na SmtpStatusCode enumeração especificam valores de status de resposta enviados por um servidor SMTP (Simple Mail Transfer Protocol). As SmtpException classes e as SmtpFailedRecipientsException classes contêm StatusCode propriedades que retornam SmtpStatusCode valores.

O SMTP é definido no RFC 2821 disponível em https://www.ietf.org.

Aplica-se a