SmtpStatusCode Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje výsledek odeslání e-mailu pomocí SmtpClient třídy.
public enum class SmtpStatusCode
public enum SmtpStatusCode
type SmtpStatusCode =
Public Enum SmtpStatusCode
- Dědičnost
Pole
BadCommandSequence | 503 | Příkazy byly odeslány v nesprávné sekvenci. |
CannotVerifyUserWillAttemptDelivery | 252 | Zadaný uživatel není místní, ale přijímající služba SMTP zprávu přijala a pokusila se ji doručit. Tento stavový kód je definován v dokumentu RFC 1123, který je k dispozici na https://www.ietf.orgadrese . |
ClientNotPermitted | 454 | Klient nebyl ověřen nebo nemůže odesílat poštu pomocí zadaného hostitele SMTP. |
CommandNotImplemented | 502 | Služba SMTP neimplementuje zadaný příkaz. |
CommandParameterNotImplemented | 504 | Služba SMTP neimplementuje zadaný parametr příkazu. |
CommandUnrecognized | 500 | Služba SMTP nerozpozná zadaný příkaz. |
ExceededStorageAllocation | 552 | Zpráva je příliš velká, aby byla uložena v cílové poštovní schránce. |
GeneralFailure | -1 | Transakce nemohla nastat. Tato chyba se zobrazí v případě, že zadaný hostitel SMTP nebyl nalezen. |
HelpMessage | 214 | Služba vrátila zprávu nápovědy. |
InsufficientStorage | 452 | Služba SMTP nemá dostatek úložiště k dokončení požadavku. |
LocalErrorInProcessing | 451 | Služba SMTP nemůže dokončit požadavek. K této chybě může dojít, pokud se IP adresa klienta nedá přeložit (to znamená selhání zpětného vyhledávání). Tuto chybu můžete zobrazit také v případě, že se doména klienta identifikovala jako open relay nebo zdroj pro nevyžádané e-maily (spam). Podrobnosti naleznete v dokumentu RFC 2505, který je k dispozici na https://www.ietf.orgadrese . |
MailboxBusy | 450 | Cílová poštovní schránka se používá. |
MailboxNameNotAllowed | 553 | Syntaxe použitá k určení cílové poštovní schránky je nesprávná. |
MailboxUnavailable | 550 | Cílová poštovní schránka nebyla nalezena nebo nebyla přístupná. |
MustIssueStartTlsFirst | 530 | Server SMTP je nakonfigurovaný tak, aby přijímal pouze připojení TLS a klient SMTP se pokouší připojit pomocí připojení jiného typu než TLS. Řešením je, aby uživatel nastavil EnableSsl=true v klientovi SMTP. |
Ok | 250 | E-mail byl úspěšně odeslán do služby SMTP. |
ServiceClosingTransmissionChannel | 221 | Služba SMTP ukončuje přenosový kanál. |
ServiceNotAvailable | 421 | Služba SMTP není k dispozici; server ukončuje přenosový kanál. |
ServiceReady | 220 | Služba SMTP je připravená. |
StartMailInput | 354 | Služba SMTP je připravená k příjmu e-mailového obsahu. |
SyntaxError | 501 | Syntaxe použitá k zadání příkazu nebo parametru je nesprávná. |
SystemStatus | 211 | Odpověď na stav systému nebo nápovědu systému. |
TransactionFailed | 554 | Transakce se nezdařila. |
UserNotLocalTryAlternatePath | 551 | Poštovní schránka uživatele se nenachází na přijímajícím serveru. Měli byste znovu odeslat informace o zadané adrese. |
UserNotLocalWillForward | 251 | Poštovní schránka uživatele se nenachází na přijímajícím serveru; server přeposílá e-mail. |
Příklady
Následující příklad kódu zobrazí v konzole chybovou zprávu při SmtpException vyvolání.
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();
}
}
Poznámky
Hodnoty v výčtu SmtpStatusCode určují hodnoty stavu odpovědi odeslané serverem SMTP (Simple Mail Transfer Protocol). Třídy SmtpException obsahují StatusCode vlastnosti, které vracejí SmtpStatusCode hodnoty.SmtpFailedRecipientsException
PROTOKOL SMTP je definován v dokumentu RFC 2821 k dispozici na adrese https://www.ietf.org.