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 na serwer SMTP na potrzeby dostarczania. Te metody blokują się podczas przesyłania komunikatu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| 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
- Ź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
Parametr message ma wartość null.
Ta SmtpClient operacja wysyłania jest już w toku.
— lub —
Parametr From ma wartość null.
— lub —
Nie określono adresatów we Towłaściwościach , CCi Bcc .
— lub —
DeliveryMethod właściwość jest ustawiona na Network wartość 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 wartość 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 —
Uwierzytelnianie nie powiodło się.
— lub —
Upłynął limit czasu operacji.
— lub —
EnableSsl jest ustawiona na true wartość , ale właściwość jest ustawiona DeliveryMethod na SpecifiedPickupDirectory lub PickupDirectoryFromIis.
— lub —
EnableSsl jest ustawiona na true, wartość , ale serwer poczty SMTP nie anonsował startTLS w odpowiedzi na polecenie EHLO.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać tej 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());
}
}
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 się po upływie określonego czasu.
Przed wywołaniem tej metody Host właściwości i Port należy ustawić za pomocą plików konfiguracji, ustawiając odpowiednie 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 wystąpi SmtpException wyjątek, sprawdź StatusCode właściwość , aby znaleźć przyczynę niepowodzenia operacji. Element SmtpException może również zawierać wyjątek wewnętrzny wskazujący przyczynę niepowodzenia operacji.
Podczas wysyłania wiadomości e-mail przy użyciu Send 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 adresat zostanie odrzucony). Obiekt SmtpFailedRecipientsException zawiera listę adresatów, którzy zostali odrzuceni.
Uwaga / Notatka
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 Send metody 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
- Ź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
Ta SmtpClient operacja wysyłania jest już w toku.
— lub —
DeliveryMethod właściwość jest ustawiona na Network wartość 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 wartość 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 —
Uwierzytelnianie nie powiodło się.
— lub —
Upłynął limit czasu operacji.
— lub —
EnableSsl jest ustawiona na true wartość , ale właściwość jest ustawiona DeliveryMethod na SpecifiedPickupDirectory 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 się po upływie określonego czasu.
Przed wywołaniem tej metody Host właściwości i Port należy ustawić za pomocą plików konfiguracji, ustawiając odpowiednie 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 wystąpi SmtpException wyjątek, sprawdź StatusCode właściwość , aby znaleźć przyczynę niepowodzenia operacji. Element SmtpException może również zawierać wyjątek wewnętrzny wskazujący przyczynę niepowodzenia operacji.
Podczas wysyłania wiadomości e-mail przy użyciu Send 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 adresat zostanie odrzucony). Obiekt SmtpFailedRecipientsException zawiera listę adresatów, którzy zostali odrzuceni.
Uwaga / Notatka
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 Send metody lub SendAsync zgłosi błąd SmtpException.