SmtpException.StatusCode Property
.NET Framework 4.5
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)
Property Value
Type: System.Net.Mail.SmtpStatusCodeAn 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("ben@contoso.com"); MailAddress to = new MailAddress("jane@contoso.com"); 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("Notifications@contoso.com"); message.CC.Add(copy); 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); try { client.Send(message); } 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."); System.Threading.Thread.Sleep(5000); client.Send(message); } else { Console.WriteLine("Failed to deliver message to {0}", ex.InnerExceptions[i].FailedRecipient); } } } catch (Exception ex) { Console.WriteLine("Exception caught in RetryIfBusy(): {0}", ex.ToString() ); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.