SmtpClient.Send Metoda
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í.
Odešle e-mailovou zprávu serveru SMTP k doručení. Tyto metody blokují během přenosu zprávy.
Přetížení
Send(MailMessage) |
Odešle zadanou zprávu serveru SMTP k doručení. |
Send(String, String, String, String) |
Odešle zadanou e-mailovou zprávu serveru SMTP k doručení. Odesílatel, příjemci, předmět a text zprávy se zadají pomocí String objektů. |
Send(MailMessage)
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
Odešle zadanou zprávu serveru SMTP k doručení.
public:
void Send(System::Net::Mail::MailMessage ^ message);
public void Send (System.Net.Mail.MailMessage message);
member this.Send : System.Net.Mail.MailMessage -> unit
Public Sub Send (message As MailMessage)
Parametry
- message
- MailMessage
A MailMessage obsahující zprávu, která se má odeslat.
Výjimky
message
je null
.
Tato SmtpClient operace odeslání už probíhá.
-nebo-
From je null
.
-nebo-
Ve vlastnostech , CCa Bcc nejsou zadáni Tožádní příjemci.
-nebo-
DeliveryMethod vlastnost je nastavená na Network hodnotu a Host je null
.
-nebo-
DeliveryMethod vlastnost je nastavená na Network hodnotu a Host je rovna prázdnému řetězci ("").
-nebo-
DeliveryMethod vlastnost je nastavena na Network a Port je nula, záporné číslo nebo větší než 65 535.
Tento objekt byl odstraněn.
Připojení k serveru SMTP selhalo.
-nebo-
Ověření se nezdařilo.
-nebo-
Časový limit operace vypršel.
-nebo-
EnableSsl je nastavená na true
, ale DeliveryMethod vlastnost je nastavená na SpecifiedPickupDirectory nebo PickupDirectoryFromIis.
-nebo-
EnableSsl je nastavený na, true,
ale poštovní server SMTP neinzeroval startTLS v odpovědi na příkaz EHLO.
Příklady
Následující příklad kódu ukazuje použití této metody.
static void CreateTestMessage2( String^ server )
{
String^ to = L"jane@contoso.com";
String^ from = L"ben@contoso.com";
MailMessage^ message = gcnew MailMessage( from,to );
message->Subject = L"Using the new SMTP client.";
message->Body = L"Using this new feature, you can send an email message from an application very easily.";
SmtpClient^ client = gcnew SmtpClient( server );
// Credentials are necessary if the server requires the client
// to authenticate before it will send email on the client's behalf.
client->UseDefaultCredentials = true;
client->Send( message );
client->~SmtpClient();
}
public static void CreateTestMessage2(string server)
{
string to = "jane@contoso.com";
string from = "ben@contoso.com";
MailMessage message = new MailMessage(from, to);
message.Subject = "Using the new SMTP client.";
message.Body = @"Using this new feature, you can send an email message from an application very easily.";
SmtpClient client = new SmtpClient(server);
// Credentials are necessary if the server requires the client
// to authenticate before it will send email on the client's behalf.
client.UseDefaultCredentials = true;
try
{
client.Send(message);
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in CreateTestMessage2(): {0}",
ex.ToString());
}
}
Poznámky
Tato metoda blokuje při přenosu e-mailu. Pomocí vlastnosti můžete zadat hodnotu časového limitu Timeout , abyste zajistili, že se metoda vrátí po uplynutí zadané doby.
Před voláním této metody Host musí být vlastnosti a Port nastaveny buď prostřednictvím konfiguračních souborů nastavením příslušných vlastností, nebo předáním těchto informací do konstruktoru SmtpClient(String, Int32) .
Tuto metodu nelze volat, pokud se zpráva odesílá asynchronně.
Pokud hostitel SMTP vyžaduje přihlašovací údaje, musíte je před voláním této metody nastavit. Pokud chcete zadat přihlašovací údaje, použijte UseDefaultCredentials vlastnosti nebo Credentials .
Pokud se zobrazí výjimka SmtpException , zkontrolujte StatusCode vlastnost a zjistěte důvod selhání operace. Může SmtpException také obsahovat vnitřní výjimku, která označuje důvod selhání operace.
Při odesílání e-mailů pomocí více Send příjemců a server SMTP přijme některé příjemce jako platné a odmítne jiné, Send odešle e-mail přijatým příjemcům a pak SmtpFailedRecipientsException se vyvolá (nebo SmtpFailedRecipientException pokud je odmítnut pouze jeden příjemce). A SmtpFailedRecipientsException obsahuje seznam příjemců, kteří byli odmítnuti.
Poznámka
EnableSsl Pokud je vlastnost nastavena na true
a poštovní server SMTP neinzeruje startTLS v odpovědi na příkaz EHLO, vyvolá volání Send metody nebo SendAsync metodu SmtpException.
Platí pro
Send(String, String, String, String)
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
Odešle zadanou e-mailovou zprávu serveru SMTP k doručení. Odesílatel, příjemci, předmět a text zprávy se zadají pomocí String objektů.
public:
void Send(System::String ^ from, System::String ^ recipients, System::String ^ subject, System::String ^ body);
public void Send (string from, string recipients, string? subject, string? body);
public void Send (string from, string recipients, string subject, string body);
member this.Send : string * string * string * string -> unit
Public Sub Send (from As String, recipients As String, subject As String, body As String)
Parametry
Výjimky
Tato SmtpClient operace odeslání už probíhá.
-nebo-
DeliveryMethod vlastnost je nastavená na Network hodnotu a Host je null
.
-nebo-
DeliveryMethod vlastnost je nastavená na Network hodnotu a Host je rovna prázdnému řetězci ("").
-nebo-
DeliveryMethod vlastnost je nastavena na Network a Port je nula, záporné číslo nebo větší než 65 535.
Tento objekt byl odstraněn.
Připojení k serveru SMTP selhalo.
-nebo-
Ověření se nezdařilo.
-nebo-
Časový limit operace vypršel.
-nebo-
EnableSsl je nastavená na true
, ale DeliveryMethod vlastnost je nastavená na SpecifiedPickupDirectory nebo PickupDirectoryFromIis.
-nebo-
EnableSsl je nastavený na, true,
ale poštovní server SMTP neinzeroval startTLS v odpovědi na příkaz EHLO.
Poznámky
Tato metoda blokuje při přenosu e-mailu. Pomocí vlastnosti můžete zadat hodnotu časového limitu Timeout , abyste zajistili, že se metoda vrátí po uplynutí zadané doby.
Před voláním této metody Host musí být vlastnosti a Port nastaveny buď prostřednictvím konfiguračních souborů nastavením příslušných vlastností, nebo předáním těchto informací do konstruktoru SmtpClient(String, Int32) .
Tuto metodu nelze volat, pokud se zpráva odesílá asynchronně.
Pokud hostitel SMTP vyžaduje přihlašovací údaje, musíte je před voláním této metody nastavit. Pokud chcete zadat přihlašovací údaje, použijte UseDefaultCredentials vlastnosti nebo Credentials .
Pokud se zobrazí výjimka SmtpException , zkontrolujte StatusCode vlastnost a zjistěte důvod selhání operace. Může SmtpException také obsahovat vnitřní výjimku, která označuje důvod selhání operace.
Při odesílání e-mailů pomocí více Send příjemců a server SMTP přijme některé příjemce jako platné a odmítne jiné, Send odešle e-mail přijatým příjemcům a pak SmtpFailedRecipientsException se vyvolá (nebo SmtpFailedRecipientException pokud je odmítnut pouze jeden příjemce). A SmtpFailedRecipientsException obsahuje seznam příjemců, kteří byli odmítnuti.
Poznámka
EnableSsl Pokud je vlastnost nastavena na true
a poštovní server SMTP neinzeruje startTLS v odpovědi na příkaz EHLO, vyvolá volání Send metody nebo SendAsync metodu SmtpException.