SmtpFailedRecipientsException Třída
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í.
Výjimka, která je vyvolána při odeslání e-mailu pomocí SmtpClient a nelze ji doručit všem příjemcům.
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.
public ref class SmtpFailedRecipientsException : System::Net::Mail::SmtpFailedRecipientException
public class SmtpFailedRecipientsException : System.Net.Mail.SmtpFailedRecipientException
[System.Serializable]
public class SmtpFailedRecipientsException : System.Net.Mail.SmtpFailedRecipientException
type SmtpFailedRecipientsException = class
inherit SmtpFailedRecipientException
interface ISerializable
[<System.Serializable>]
type SmtpFailedRecipientsException = class
inherit SmtpFailedRecipientException
interface ISerializable
Public Class SmtpFailedRecipientsException
Inherits SmtpFailedRecipientException
- Dědičnost
- Atributy
- Implementuje
Příklady
Následující příklad kódu znovu odešle e-mailovou zprávu, která nebyla doručena, protože poštovní schránka byla zaneprázdněná nebo nedostupná.
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() );
}
}
Poznámky
Vlastnost InnerExceptions obsahuje výjimky přijaté při pokusu o odeslání e-mailu. E-mail mohl být úspěšně doručen některým příjemcům.
Konstruktory
SmtpFailedRecipientsException() |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Inicializuje prázdnou SmtpFailedRecipientsException instanci třídy. |
SmtpFailedRecipientsException(SerializationInfo, StreamingContext) |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Inicializuje novou instanci SmtpFailedRecipientsException třídy ze zadaných SerializationInfo instancí a StreamingContext tříd. |
SmtpFailedRecipientsException(String) |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Inicializuje novou instanci SmtpFailedRecipientsException třídy se zadaným String. |
SmtpFailedRecipientsException(String, Exception) |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Inicializuje novou instanci SmtpFailedRecipientsException třídy se zadaným String a vnitřním Exception. |
SmtpFailedRecipientsException(String, SmtpFailedRecipientException[]) |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Inicializuje novou instanci SmtpFailedRecipientsException třídy se zadaným String a polem typu SmtpFailedRecipientException. |
Vlastnosti
Data |
Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce. (Zděděno od Exception) |
FailedRecipient |
Označuje e-mailovou adresu s potížemi s doručením. (Zděděno od SmtpFailedRecipientException) |
HelpLink |
Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce. (Zděděno od Exception) |
HResult |
Získá nebo nastaví HRESULT, kódovanou číselnou hodnotu přiřazenou konkrétní výjimce. (Zděděno od Exception) |
InnerException |
Exception Získá instanci, která způsobila aktuální výjimku. (Zděděno od Exception) |
InnerExceptions |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Získá jeden nebo více SmtpFailedRecipientExceptions, které označují příjemce e-mailu s chybami doručení SMTP. |
Message |
Získá zprávu, která popisuje aktuální výjimku. (Zděděno od Exception) |
Source |
Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu. (Zděděno od Exception) |
StackTrace |
Získá řetězcové znázornění okamžitých rámců v zásobníku volání. (Zděděno od Exception) |
StatusCode |
Získá stavový kód vrácený serverem SMTP při přenosu e-mailové zprávy. (Zděděno od SmtpException) |
TargetSite |
Získá metodu, která vyvolá aktuální výjimku. (Zděděno od Exception) |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetBaseException() |
Při přepsání v odvozené třídě vrátí Exception hodnotu, která je hlavní příčinou jedné nebo více následných výjimek. (Zděděno od Exception) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Naplní SerializationInfo instanci dat potřebnými k serializaci SmtpFailedRecipientsException. |
GetType() |
Získá typ modulu runtime aktuální instance. (Zděděno od Exception) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky. (Zděděno od Exception) |
událost
SerializeObjectState |
Zastaralé.
Nastane, když je výjimka serializována k vytvoření objektu stavu výjimky, který obsahuje serializovaná data o výjimce. (Zděděno od Exception) |
Explicitní implementace rozhraní
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Inicializuje novou instanci SmtpFailedRecipientsException třídy ze zadaných SerializationInfo a StreamingContext instancí. |