2 out of 6 rated this helpful - Rate this topic

SmtpStatusCode Enumeration

Specifies the outcome of sending e-mail by using the SmtpClient class.

Namespace:  System.Net.Mail
Assembly:  System (in System.dll)
public enum SmtpStatusCode
Member nameDescription
SystemStatusA system status or system Help reply.
HelpMessageA Help message was returned by the service.
ServiceReadyThe SMTP service is ready.
ServiceClosingTransmissionChannelThe SMTP service is closing the transmission channel.
OkThe email was successfully sent to the SMTP service.
UserNotLocalWillForwardThe user mailbox is not located on the receiving server; the server forwards the e-mail.
CannotVerifyUserWillAttemptDeliveryThe specified user is not local, but the receiving SMTP service accepted the message and attempted to deliver it. This status code is defined in RFC 1123, which is available at http://www.ietf.org.
StartMailInputThe SMTP service is ready to receive the e-mail content.
ServiceNotAvailableThe SMTP service is not available; the server is closing the transmission channel.
MailboxBusyThe destination mailbox is in use.
LocalErrorInProcessingThe SMTP service cannot complete the request. This error can occur if the client's IP address cannot be resolved (that is, a reverse lookup failed). You can also receive this error if the client domain has been identified as an open relay or source for unsolicited e-mail (spam). For details, see RFC 2505, which is available at http://www.ietf.org.
InsufficientStorageThe SMTP service does not have sufficient storage to complete the request.
ClientNotPermittedThe client was not authenticated or is not allowed to send mail using the specified SMTP host.
CommandUnrecognizedThe SMTP service does not recognize the specified command.
SyntaxErrorThe syntax used to specify a command or parameter is incorrect.
CommandNotImplementedThe SMTP service does not implement the specified command.
BadCommandSequenceThe commands were sent in the incorrect sequence.
MustIssueStartTlsFirstThe SMTP server is configured to accept only TLS connections, and the SMTP client is attempting to connect by using a non-TLS connection. The solution is for the user to set EnableSsl=true on the SMTP Client.
CommandParameterNotImplementedThe SMTP service does not implement the specified command parameter.
MailboxUnavailableThe destination mailbox was not found or could not be accessed.
UserNotLocalTryAlternatePathThe user mailbox is not located on the receiving server. You should resend using the supplied address information.
ExceededStorageAllocationThe message is too large to be stored in the destination mailbox.
MailboxNameNotAllowedThe syntax used to specify the destination mailbox is incorrect.
TransactionFailedThe transaction failed.
GeneralFailureThe transaction could not occur. You receive this error when the specified SMTP host cannot be found.

The values in the SmtpStatusCode enumeration specify reply status values sent by a Simple Mail Transfer Protocol (SMTP) server. The SmtpException and SmtpFailedRecipientsException classes contain StatusCode properties that return SmtpStatusCode values.

SMTP is defined in RFC 2821 available at http://www.ietf.org.

The following code example displays an error message to the console when an SmtpException is thrown.

		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 e-mail 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 e-mail 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();
			}
		}
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 = S"data.xls";
         // Create a message and set up the recipients.
         MailMessage* message = new MailMessage(
            S"ReportMailer@contoso.com", 
            to,
            S"Quarterly data report", 
            S"See the attached spreadsheet.");

        // Create  the file attachment for this e-mail message.
        Attachment* data = new Attachment();
        // Use the name parameter to set the name of the file to 
        // Qtr3.xls.
        data->SetContentFromFile(file, S"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 e-mail message.
        message->Attachments->Add(data);
        //Send the message.
        SmtpClient* client = new 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(S"Error: {0}", __box(e->StatusCode)); 
        }
        __finally 
        {
            data->Dispose();
            client->Dispose();
        }
    }

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.