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 na server SMTP pro doručení. Tyto metody blokují při přenosu zprávy.
Přetížení
| Name | Description |
|---|---|
| Send(MailMessage) |
Odešle zadanou zprávu na server SMTP pro doručení. |
| Send(String, String, String, String) |
Odešle zadanou e-mailovou zprávu na server SMTP pro doručení. Odesílatel zprávy, 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
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
Odešle zadanou zprávu na server SMTP pro 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 odesílání už probíhá.
nebo
From je null.
nebo
Nejsou zadáni ToCCžádní příjemci , a Bcc vlastnosti.
nebo
DeliveryMethod vlastnost je nastavena Network a Host je null.
nebo
DeliveryMethod vlastnost je nastavena Network a Host je rovna prázdnému řetězci ("").
nebo
DeliveryMethod vlastnost je nastavena Network na hodnotu nula Port , záporné číslo nebo větší než 65 535.
Tento objekt byl odstraněn.
Připojení k serveru SMTP se nezdařilo.
nebo
Ověření se nezdařilo.
nebo
Vypršel časový limit operace.
nebo
EnableSsl je nastavena na true hodnotu, ale vlastnost je nastavena DeliveryMethod na SpecifiedPickupDirectory hodnotu nebo PickupDirectoryFromIis.
nebo
EnableSsl je nastavena na true, , ale poštovní server SMTP neinzeroval funkci STARTTLS v odpovědi na příkaz EHLO.
Příklady
Následující příklad kódu ukazuje použití této metody.
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 , která zajistí, že metoda vrátí po uplynutí zadaného časového limitu.
Před voláním této metody Host musí být vlastnosti Port nastaveny buď prostřednictvím konfiguračních souborů nastavením relevantních vlastností, nebo předáním těchto informací do konstruktoru SmtpClient(String, Int32) .
Tuto metodu nelze volat, pokud se asynchronně odesílá zpráva.
Pokud hostitel SMTP vyžaduje přihlašovací údaje, musíte je nastavit před voláním této metody. K zadání přihlašovacích údajů použijte vlastnostiUseDefaultCredentials.Credentials
Pokud se zobrazí SmtpException výjimka, zkontrolujte vlastnost a vyhledejte StatusCode důvod selhání operace. Může SmtpException také obsahovat vnitřní výjimku, která označuje důvod, proč operace selhala.
Když posíláte e-maily více Send příjemcům a server SMTP přijme některé příjemce jako platné a odmítne ostatní, Send pošle příjemcům e-mail a pak SmtpFailedRecipientsException je vyvolán (nebo SmtpFailedRecipientException pokud je odmítnut pouze jeden příjemce). A SmtpFailedRecipientsException obsahuje seznam příjemců, kteří byli odmítnuti.
Poznámka:
Pokud je vlastnost nastavena EnableSsl na truea SMTP poštovní server neinzeruje STARTTLS v reakci na příkaz EHLO, volání Send metody nebo SendAsync metody vyvolá SmtpException.
Platí pro
Send(String, String, String, String)
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
- Zdroj:
- SmtpClient.cs
Odešle zadanou e-mailovou zprávu na server SMTP pro doručení. Odesílatel zprávy, 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 odesílání už probíhá.
nebo
DeliveryMethod vlastnost je nastavena Network a Host je null.
nebo
DeliveryMethod vlastnost je nastavena Network a Host je rovna prázdnému řetězci ("").
nebo
DeliveryMethod vlastnost je nastavena Network na hodnotu nula Port , záporné číslo nebo větší než 65 535.
Tento objekt byl odstraněn.
Připojení k serveru SMTP se nezdařilo.
nebo
Ověření se nezdařilo.
nebo
Vypršel časový limit operace.
nebo
EnableSsl je nastavena na true hodnotu, ale vlastnost je nastavena DeliveryMethod na SpecifiedPickupDirectory hodnotu nebo PickupDirectoryFromIis.
nebo
EnableSsl je nastavena na true, , ale poštovní server SMTP neinzeroval funkci 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 , která zajistí, že metoda vrátí po uplynutí zadaného časového limitu.
Před voláním této metody Host musí být vlastnosti Port nastaveny buď prostřednictvím konfiguračních souborů nastavením relevantních vlastností, nebo předáním těchto informací do konstruktoru SmtpClient(String, Int32) .
Tuto metodu nelze volat, pokud se asynchronně odesílá zpráva.
Pokud hostitel SMTP vyžaduje přihlašovací údaje, musíte je nastavit před voláním této metody. K zadání přihlašovacích údajů použijte vlastnostiUseDefaultCredentials.Credentials
Pokud se zobrazí SmtpException výjimka, zkontrolujte vlastnost a vyhledejte StatusCode důvod selhání operace. Může SmtpException také obsahovat vnitřní výjimku, která označuje důvod, proč operace selhala.
Když posíláte e-maily více Send příjemcům a server SMTP přijme některé příjemce jako platné a odmítne ostatní, Send pošle příjemcům e-mail a pak SmtpFailedRecipientsException je vyvolán (nebo SmtpFailedRecipientException pokud je odmítnut pouze jeden příjemce). A SmtpFailedRecipientsException obsahuje seznam příjemců, kteří byli odmítnuti.
Poznámka:
Pokud je vlastnost nastavena EnableSsl na truea SMTP poštovní server neinzeruje STARTTLS v reakci na příkaz EHLO, volání Send metody nebo SendAsync metody vyvolá SmtpException.