SmtpException.StatusCode Property


Gets the status code returned by an SMTP server when an e-mail message is transmitted.

Namespace:   System.Net.Mail
Assembly:  System (in System.dll)

public SmtpStatusCode StatusCode { get; set; }

Property Value

Type: System.Net.Mail.SmtpStatusCode

An SmtpStatusCode value that indicates the error that occurred.

The following code example displays the value of this property.

public static void RetryIfBusy(string server)
	MailAddress from = new MailAddress("");
	MailAddress to = new MailAddress("");
	MailMessage message = new MailMessage(from, to);
	// message.Subject = "Using the SmtpClient class.";
	message.Subject = "Using the SmtpClient class.";
	message.Body = @"Using this feature, you can send an e-mail message from an application very easily.";
	// Add a carbon copy recipient.
	MailAddress copy = new MailAddress("");
	SmtpClient client = new SmtpClient(server);
	// Include credentials if the server requires them.
	client.Credentials = (ICredentialsByHost)CredentialCache.DefaultNetworkCredentials;
	Console.WriteLine("Sending an e-mail message to {0} using the SMTP host {1}.",
		 to.Address, client.Host);
	catch (SmtpFailedRecipientsException ex)
		for (int i = 0; i < ex.InnerExceptions.Length; i++)
			SmtpStatusCode status = ex.InnerExceptions[i].StatusCode;
			if (status == SmtpStatusCode.MailboxBusy ||
				status == SmtpStatusCode.MailboxUnavailable)
				Console.WriteLine("Delivery failed - retrying in 5 seconds.");
				Console.WriteLine("Failed to deliver message to {0}", 
          catch (Exception ex)
              Console.WriteLine("Exception caught in RetryIfBusy(): {0}", 
                      ex.ToString() );

.NET Framework
Available since 2.0
Return to top