Sdílet prostřednictvím


SmtpClient.Send Metoda

Definice

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.

message Nebylo možné doručit některému z příjemců v To, CCnebo Bcc.

Nelze message doručit dvěma nebo více příjemcům v To, CCnebo Bcc.

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

from
String

A String obsahující informace o adrese odesílatele zprávy.

recipients
String

A String obsahující adresy, na které se zpráva odešle.

subject
String

A String obsahující řádek předmětu zprávy.

body
String

A String obsahující text zprávy.

Výjimky

from je null.

nebo

recipients je null.

from je Empty.

nebo

recipients je Empty.

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.

Zprávu nelze doručit jednomu z příjemců v Tosouboru , CCnebo Bcc.

Zprávu nelze doručit dvěma nebo více příjemcům v Tosouboru , CCnebo Bcc.

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