SmtpException.StatusCode Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient le code d’état retourné par un serveur SMTP lorsqu’un message électronique est transmis.
public:
property System::Net::Mail::SmtpStatusCode StatusCode { System::Net::Mail::SmtpStatusCode get(); void set(System::Net::Mail::SmtpStatusCode value); };
public System.Net.Mail.SmtpStatusCode StatusCode { get; set; }
member this.StatusCode : System.Net.Mail.SmtpStatusCode with get, set
Public Property StatusCode As SmtpStatusCode
Valeur de propriété
Valeur SmtpStatusCode qui indique l'erreur qui s'est produite.
Exemples
L’exemple de code suivant affiche la valeur de cette propriété.
static void RetryIfBusy( String^ server )
{
MailAddress^ from = gcnew MailAddress( L"ben@contoso.com" );
MailAddress^ to = gcnew MailAddress( L"jane@contoso.com" );
MailMessage^ message = gcnew MailMessage( from,to );
// message.Subject = "Using the SmtpClient class.";
message->Subject = L"Using the SmtpClient class.";
message->Body = L"Using this feature, you can send an email message from an application very easily.";
// Add a carbon copy recipient.
MailAddress^ copy = gcnew MailAddress( L"Notifications@contoso.com" );
message->CC->Add( copy );
SmtpClient^ client = gcnew SmtpClient( server );
// Include credentials if the server requires them.
client->Credentials = dynamic_cast<ICredentialsByHost^>(CredentialCache::DefaultNetworkCredentials);
Console::WriteLine( L"Sending an email 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( L"Delivery failed - retrying in 5 seconds." );
System::Threading::Thread::Sleep( 5000 );
client->Send( message );
}
else
{
Console::WriteLine( L"Failed to deliver message to {0}", ex->InnerExceptions[ i ] );
}
}
}
catch ( Exception^ ex )
{
Console::WriteLine(L"Exception caught in RetryIfBusy(): {0}",
ex->ToString() );
}
finally
{
client->~SmtpClient();
}
}
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 email 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 email 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());
}
}
S’applique à
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage (pull requests). Pour plus d’informations, consultez notre guide du contributeur.