SmtpStatusCode Wyliczenie

Definicja

Określa wynik wysyłania wiadomości e-mail przy użyciu SmtpClient klasy .

public enum class SmtpStatusCode
public enum SmtpStatusCode
type SmtpStatusCode = 
Public Enum SmtpStatusCode
Dziedziczenie
SmtpStatusCode

Pola

BadCommandSequence 503

Polecenia zostały wysłane w nieprawidłowej sekwencji.

CannotVerifyUserWillAttemptDelivery 252

Określony użytkownik nie jest lokalny, ale odbierający usługa SMTP zaakceptowała komunikat i próbowała go dostarczyć. Ten kod stanu jest zdefiniowany w dokumencie RFC 1123, który jest dostępny pod adresem https://www.ietf.org.

ClientNotPermitted 454

Klient nie został uwierzytelniony lub nie może wysyłać poczty przy użyciu określonego hosta SMTP.

CommandNotImplemented 502

Usługa SMTP nie implementuje określonego polecenia.

CommandParameterNotImplemented 504

Usługa SMTP nie implementuje określonego parametru polecenia.

CommandUnrecognized 500

Usługa SMTP nie rozpoznaje określonego polecenia.

ExceededStorageAllocation 552

Wiadomość jest zbyt duża, aby być przechowywana w docelowej skrzynce pocztowej.

GeneralFailure -1

Nie można nawiązać transakcji. Ten błąd występuje, gdy nie można odnaleźć określonego hosta SMTP.

HelpMessage 214

Komunikat pomocy został zwrócony przez usługę.

InsufficientStorage 452

Usługa SMTP nie ma wystarczającej ilości miejsca do ukończenia żądania.

LocalErrorInProcessing 451

Usługa SMTP nie może ukończyć żądania. Ten błąd może wystąpić, jeśli nie można rozpoznać adresu IP klienta (oznacza to, że wyszukiwanie wsteczne nie powiodło się). Ten błąd można również otrzymać, jeśli domena klienta została zidentyfikowana jako otwarty przekaźnik lub źródło niezamówionej wiadomości e-mail (spam). Aby uzyskać szczegółowe informacje, zobacz RFC 2505, który jest dostępny pod adresem https://www.ietf.org.

MailboxBusy 450

Docelowa skrzynka pocztowa jest używana.

MailboxNameNotAllowed 553

Składnia używana do określenia docelowej skrzynki pocztowej jest niepoprawna.

MailboxUnavailable 550

Nie można odnaleźć docelowej skrzynki pocztowej lub nie można uzyskać do niego dostępu.

MustIssueStartTlsFirst 530

Serwer SMTP jest skonfigurowany do akceptowania tylko połączeń TLS, a klient SMTP próbuje nawiązać połączenie przy użyciu połączenia innego niż TLS. Rozwiązanie jest przeznaczone dla użytkownika, aby ustawić wartość EnableSsl=true na kliencie SMTP.

Ok 250

Wiadomość e-mail została pomyślnie wysłana do usługi SMTP.

ServiceClosingTransmissionChannel 221

Usługa SMTP zamyka kanał transmisji.

ServiceNotAvailable 421

Usługa SMTP jest niedostępna; serwer zamyka kanał transmisji.

ServiceReady 220

Usługa SMTP jest gotowa.

StartMailInput 354

Usługa SMTP jest gotowa do odbierania zawartości wiadomości e-mail.

SyntaxError 501

Składnia używana do określenia polecenia lub parametru jest niepoprawna.

SystemStatus 211

Stan systemu lub odpowiedź pomocy systemu.

TransactionFailed 554

Transakcja nie powiodła się.

UserNotLocalTryAlternatePath 551

Skrzynka pocztowa użytkownika nie znajduje się na serwerze odbierającego. Należy ponownie wysłać informacje o podanym adresie.

UserNotLocalWillForward 251

Skrzynka pocztowa użytkownika nie znajduje się na serwerze odbierającego; serwer przekazuje wiadomość e-mail.

Przykłady

Poniższy przykład kodu wyświetla komunikat o błędzie w konsoli po SmtpException wyświetleniu błędu.

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

Uwagi

Wartości w wyliczenie SmtpStatusCode określają wartości stanu odpowiedzi wysyłane przez serwer SMTP (Simple Mail Transfer Protocol). Klasy SmtpException i SmtpFailedRecipientsException zawierają StatusCode właściwości zwracające SmtpStatusCode wartości.

Protokół SMTP jest zdefiniowany w dokumencie RFC 2821 dostępnym pod adresem https://www.ietf.org.

Dotyczy