SmtpStatusCode Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Pola
BadCommandSequence | 503 | Polecenia zostały wysłane w nieprawidłowej sekwencji. |
CannotVerifyUserWillAttemptDelivery | 252 | Określony użytkownik nie jest lokalny, ale odbierana 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ć wiadomości e-mail 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 | Usługa zwróciła komunikat pomocy. |
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 niechcianych 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ślania 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ązaniem jest ustawienie dla użytkownika wartości 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ślania polecenia lub parametru jest niepoprawna. |
SystemStatus | 211 | Stan systemu lub odpowiedź pomocy systemowej. |
TransactionFailed | 554 | Transakcja nie powiodła się. |
UserNotLocalTryAlternatePath | 551 | Skrzynka pocztowa użytkownika nie znajduje się na serwerze odbierający. Należy ponownie wysłać dane przy użyciu podanych informacji o adresie. |
UserNotLocalWillForward | 251 | Skrzynka pocztowa użytkownika nie znajduje się na serwerze odbierający; serwer przekazuje wiadomość e-mail. |
Przykłady
Poniższy przykład kodu wyświetla komunikat o błędzie w konsoli po wystąpieniu błędu SmtpException .
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.