SmtpClient.Send Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 null
wartość .
-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.
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 true
wartość , 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
Wyjątki
Ma to SmtpClient już inną operację wysyłania.
-lub-
DeliveryMethod właściwość jest ustawiona na Network i Host ma null
wartość .
-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.
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 true
wartość , 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.