SmtpStatusCode Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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 SmtpFailedRecipientsException contêm StatusCode propriedades que retornam SmtpStatusCode valores.
O SMTP é definido no RFC 2821 disponível em https://www.ietf.org.