Udostępnij za pośrednictwem


SmtpClient.Send Metoda

Definicja

Wysyła wiadomość e-mail do serwera SMTP na potrzeby dostarczania. Te metody blokują przesyłanie komunikatu.

Przeciążenia

Send(MailMessage)

Wysyła określony komunikat do serwera SMTP na potrzeby dostarczania.

Send(String, String, String, String)

Wysyła określoną wiadomość e-mail do serwera SMTP na potrzeby dostarczania. Nadawca wiadomości, adresaci, temat i treść wiadomości są określane przy użyciu String obiektów.

Send(MailMessage)

Źródło:
SmtpClient.cs
Źródło:
SmtpClient.cs
Źródło:
SmtpClient.cs

Wysyła określony komunikat do serwera SMTP na potrzeby dostarczania.

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

Element MailMessage zawierający komunikat do wysłania.

Wyjątki

message to null.

Ma to SmtpClient już inną operację wysyłania.

-lub-

From to null.

-lub-

Nie określono adresatów w Towłaściwościach , CCi Bcc .

-lub-

DeliveryMethod właściwość jest ustawiona na Network i Host ma nullwartość .

-lub-

DeliveryMethod właściwość jest ustawiona na Network i Host jest równa pustemu ciągowi ("").

-lub-

DeliveryMethod właściwość jest ustawiona na Network i Port ma wartość zero, liczbę ujemną lub większą niż 65 535.

Ten obiekt został usunięty.

Połączenie z serwerem SMTP nie powiodło się.

-lub-

Nie można przeprowadzić uwierzytelniania.

-lub-

Upłynął limit czasu operacji.

-lub-

EnableSsl jest ustawiona na true wartość , ale właściwość jest ustawiona DeliveryMethod na SpecifiedPickupDirectory wartość lub PickupDirectoryFromIis.

-lub-

EnableSsl jest ustawiona na true, wartość , ale serwer poczty SMTP nie anonsował STARTTLS w odpowiedzi na polecenie EHLO.

message Nie można dostarczyć elementu do jednego z adresatów w Topliku , CClub Bcc.

Nie można dostarczyć elementu message do dwóch lub większej liczby adresatów w Topliku , CClub Bcc.

Przykłady

Poniższy przykład kodu przedstawia użycie tej 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());
    }
}

Uwagi

Ta metoda blokuje przesyłanie wiadomości e-mail. Wartość limitu czasu można określić przy użyciu Timeout właściwości , aby upewnić się, że metoda zwraca wartość po upływie określonego czasu.

Przed wywołaniem tej metody Host właściwości i Port należy ustawić za pośrednictwem plików konfiguracji przez ustawienie odpowiednich właściwości lub przekazując te informacje do konstruktora SmtpClient(String, Int32) .

Nie można wywołać tej metody, jeśli komunikat jest wysyłany asynchronicznie.

Jeśli host SMTP wymaga poświadczeń, należy je ustawić przed wywołaniem tej metody. Aby określić poświadczenia, użyj UseDefaultCredentials właściwości lub Credentials .

Jeśli otrzymasz SmtpException wyjątek, sprawdź StatusCode właściwość , aby znaleźć przyczynę niepowodzenia operacji. Element SmtpException może również zawierać wyjątek wewnętrzny, który wskazuje przyczynę niepowodzenia operacji.

Podczas wysyłania wiadomości e-mail przy użyciu Send do wielu adresatów, a serwer SMTP akceptuje niektórych adresatów jako prawidłowych i odrzuca innych, wysyła wiadomość e-mail do zaakceptowanych adresatów, Send a następnie SmtpFailedRecipientsException jest zgłaszany (lub SmtpFailedRecipientException jeśli tylko jeden odbiorca zostanie odrzucony). Obiekt SmtpFailedRecipientsException zawiera listę adresatów, którzy zostali odrzuceni.

Uwaga

EnableSsl Jeśli właściwość jest ustawiona na truewartość , a serwer poczty SMTP nie anonsuje wartości STARTTLS w odpowiedzi na polecenie EHLO, wywołanie metody Send lub SendAsync zgłosi błąd SmtpException.

Dotyczy

Send(String, String, String, String)

Źródło:
SmtpClient.cs
Źródło:
SmtpClient.cs
Źródło:
SmtpClient.cs

Wysyła określoną wiadomość e-mail do serwera SMTP na potrzeby dostarczania. Nadawca wiadomości, adresaci, temat i treść wiadomości są określane przy użyciu String obiektów.

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

Element String zawierający informacje o adresie nadawcy wiadomości.

recipients
String

Element String zawierający adresy wysyłane do wiadomości.

subject
String

Element String zawierający wiersz tematu komunikatu.

body
String

Element String zawierający treść komunikatu.

Wyjątki

from to null.

-lub-

recipients to null.

from to Empty.

-lub-

recipients to Empty.

Ma to SmtpClient już inną operację wysyłania.

-lub-

DeliveryMethod właściwość jest ustawiona na Network i Host ma nullwartość .

-lub-

DeliveryMethod właściwość jest ustawiona na Network i Host jest równa pustemu ciągowi ("").

-lub-

DeliveryMethod właściwość jest ustawiona na Network i Port ma wartość zero, liczbę ujemną lub większą niż 65 535.

Ten obiekt został usunięty.

Połączenie z serwerem SMTP nie powiodło się.

-lub-

Nie można przeprowadzić uwierzytelniania.

-lub-

Upłynął limit czasu operacji.

-lub-

EnableSsl jest ustawiona na true wartość , ale właściwość jest ustawiona DeliveryMethod na SpecifiedPickupDirectory wartość lub PickupDirectoryFromIis.

-lub-

EnableSsl jest ustawiona na true, wartość , ale serwer poczty SMTP nie anonsował STARTTLS w odpowiedzi na polecenie EHLO.

message Nie można dostarczyć elementu do jednego z adresatów w Topliku , CClub Bcc.

Nie można dostarczyć elementu message do dwóch lub większej liczby adresatów w Topliku , CClub Bcc.

Uwagi

Ta metoda blokuje przesyłanie wiadomości e-mail. Wartość limitu czasu można określić przy użyciu Timeout właściwości , aby upewnić się, że metoda zwraca wartość po upływie określonego czasu.

Przed wywołaniem tej metody Host właściwości i Port należy ustawić za pośrednictwem plików konfiguracji przez ustawienie odpowiednich właściwości lub przekazując te informacje do konstruktora SmtpClient(String, Int32) .

Nie można wywołać tej metody, jeśli komunikat jest wysyłany asynchronicznie.

Jeśli host SMTP wymaga poświadczeń, należy je ustawić przed wywołaniem tej metody. Aby określić poświadczenia, użyj UseDefaultCredentials właściwości lub Credentials .

Jeśli otrzymasz SmtpException wyjątek, sprawdź StatusCode właściwość , aby znaleźć przyczynę niepowodzenia operacji. Element SmtpException może również zawierać wyjątek wewnętrzny, który wskazuje przyczynę niepowodzenia operacji.

Podczas wysyłania wiadomości e-mail przy użyciu Send do wielu adresatów, a serwer SMTP akceptuje niektórych adresatów jako prawidłowych i odrzuca innych, wysyła wiadomość e-mail do zaakceptowanych adresatów, Send a następnie SmtpFailedRecipientsException jest zgłaszany (lub SmtpFailedRecipientException jeśli tylko jeden odbiorca zostanie odrzucony). Obiekt SmtpFailedRecipientsException zawiera listę adresatów, którzy zostali odrzuceni.

Uwaga

EnableSsl Jeśli właściwość jest ustawiona na truewartość , a serwer poczty SMTP nie anonsuje wartości STARTTLS w odpowiedzi na polecenie EHLO, wywołanie metody Send lub SendAsync zgłosi błąd SmtpException.

Dotyczy