Freigeben über


SmtpClient.Send Methode

Definition

Sendet eine E-Mail-Nachricht an einen SMTP-Server zur Zustellung. Diese Methoden blockieren, während die Nachricht übertragen wird.

Überlädt

Name Beschreibung
Send(MailMessage)

Sendet die angegebene Nachricht zur Übermittlung an einen SMTP-Server.

Send(String, String, String, String)

Sendet die angegebene E-Mail-Nachricht zur Zustellung an einen SMTP-Server. Der Nachrichtensender, Empfänger, Betreff und Nachrichtentext werden mithilfe von String Objekten angegeben.

Send(MailMessage)

Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs

Sendet die angegebene Nachricht zur Übermittlung an einen SMTP-Server.

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)

Parameter

message
MailMessage

A MailMessage , das die zu sendende Nachricht enthält.

Ausnahmen

message ist null.

Dies SmtpClient hat bereits einen weiteren Sendevorgang ausgeführt.

- oder -

From ist null.

- oder -

Es sind keine Empfänger in To, CCund Bcc Eigenschaften angegeben.

- oder -

DeliveryMethod-Eigenschaft ist auf Network und Host ist .null

- oder -

DeliveryMethod die Eigenschaft auf die leere Zeichenfolge ("") festgelegt Network ist und Host gleich der leeren Zeichenfolge ist.

- oder -

DeliveryMethod eigenschaft wird auf Network null Port , eine negative Zahl oder größer als 65.535 festgelegt.

Dieses Objekt wurde verworfen.

Fehler bei der Verbindung mit dem SMTP-Server.

- oder -

Fehler bei der Authentifizierung:

- oder -

Beim Vorgang ist ein Timeout aufgetreten.

- oder -

EnableSsl ist auf true die Eigenschaft festgelegt, die Eigenschaft ist jedoch DeliveryMethod auf SpecifiedPickupDirectory oder PickupDirectoryFromIisfestgelegt.

- oder -

EnableSsl ist auf "StartTLS" festgelegt true, , aber der SMTP-E-Mail-Server hat nicht als Antwort auf den EHLO-Befehl angekündigt.

Der message Empfänger konnte nicht an einen der Empfänger Toin , CC, oder Bcc.

Die message Empfänger konnten nicht an zwei oder mehr Empfänger übermittelt werden in To, , CCoder Bcc.

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieser Methode veranschaulicht.

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());
    }
}

Hinweise

Diese Methode blockiert, während die E-Mail übertragen wird. Sie können einen Timeoutwert mithilfe der Timeout Eigenschaft angeben, um sicherzustellen, dass die Methode nach einer bestimmten Zeitspanne zurückgegeben wird.

Vor dem Aufrufen dieser Methode müssen die und Port die Host Eigenschaften entweder über die Konfigurationsdateien festgelegt werden, indem sie die relevanten Eigenschaften festlegen oder diese Informationen an den SmtpClient(String, Int32) Konstruktor übergeben.

Sie können diese Methode nicht aufrufen, wenn asynchron eine Nachricht gesendet wird.

Wenn der SMTP-Host Anmeldeinformationen benötigt, müssen Sie diese festlegen, bevor Sie diese Methode aufrufen. Verwenden Sie zum Angeben von Anmeldeinformationen die UseDefaultCredentials Eigenschaften oder Credentials Eigenschaften.

Wenn Sie eine SmtpException Ausnahme erhalten, überprüfen Sie die StatusCode Eigenschaft, um den Grund zu ermitteln, warum der Vorgang fehlgeschlagen ist. Dies SmtpException kann auch eine innere Ausnahme enthalten, die angibt, warum der Vorgang fehlgeschlagen ist.

Beim Senden von E-Mails an Send mehrere Empfänger und der SMTP-Server akzeptiert einige Empfänger als gültig und lehnt andere ab, Send sendet E-Mails an die akzeptierten Empfänger und wird dann SmtpFailedRecipientsException ausgelöst (oder wenn SmtpFailedRecipientException nur ein Empfänger abgelehnt wird). A SmtpFailedRecipientsException enthält eine Liste der Empfänger, die abgelehnt wurden.

Hinweis

Wenn die EnableSsl Eigenschaft auf true, und der SMTP-E-Mail-Server in der Antwort auf den EHLO-Befehl nicht ankündigen, löst ein Aufruf der Send Methoden SendAsync einen SmtpException.

Gilt für:

Send(String, String, String, String)

Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs
Quelle:
SmtpClient.cs

Sendet die angegebene E-Mail-Nachricht zur Zustellung an einen SMTP-Server. Der Nachrichtensender, Empfänger, Betreff und Nachrichtentext werden mithilfe von String Objekten angegeben.

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)

Parameter

from
String

A String , das die Adressinformationen des Absenders der Nachricht enthält.

recipients
String

Ein String Objekt, das die Adressen enthält, an die die Nachricht gesendet wird.

subject
String

Ein Objekt String , das die Betreffzeile für die Nachricht enthält.

body
String

Ein String Element, das den Nachrichtentext enthält.

Ausnahmen

from ist null.

- oder -

recipients ist null.

from ist Empty.

- oder -

recipients ist Empty.

Dies SmtpClient hat bereits einen weiteren Sendevorgang ausgeführt.

- oder -

DeliveryMethod-Eigenschaft ist auf Network und Host ist .null

- oder -

DeliveryMethod die Eigenschaft auf die leere Zeichenfolge ("") festgelegt Network ist und Host gleich der leeren Zeichenfolge ist.

- oder -

DeliveryMethod eigenschaft wird auf Network null Port , eine negative Zahl oder größer als 65.535 festgelegt.

Dieses Objekt wurde verworfen.

Fehler bei der Verbindung mit dem SMTP-Server.

- oder -

Fehler bei der Authentifizierung:

- oder -

Beim Vorgang ist ein Timeout aufgetreten.

- oder -

EnableSsl ist auf true die Eigenschaft festgelegt, die Eigenschaft ist jedoch DeliveryMethod auf SpecifiedPickupDirectory oder PickupDirectoryFromIisfestgelegt.

- oder -

EnableSsl ist auf "StartTLS" festgelegt true, , aber der SMTP-E-Mail-Server hat nicht als Antwort auf den EHLO-Befehl angekündigt.

Die Nachricht konnte nicht an einen der Empfänger in To, CCoder Bcc.

Die Nachricht konnte nicht an zwei oder mehr Empfänger in To, oder CCBcc.

Hinweise

Diese Methode blockiert, während die E-Mail übertragen wird. Sie können einen Timeoutwert mithilfe der Timeout Eigenschaft angeben, um sicherzustellen, dass die Methode nach einer bestimmten Zeitspanne zurückgegeben wird.

Vor dem Aufrufen dieser Methode müssen die und Port die Host Eigenschaften entweder über die Konfigurationsdateien festgelegt werden, indem sie die relevanten Eigenschaften festlegen oder diese Informationen an den SmtpClient(String, Int32) Konstruktor übergeben.

Sie können diese Methode nicht aufrufen, wenn asynchron eine Nachricht gesendet wird.

Wenn der SMTP-Host Anmeldeinformationen benötigt, müssen Sie diese festlegen, bevor Sie diese Methode aufrufen. Verwenden Sie zum Angeben von Anmeldeinformationen die UseDefaultCredentials Eigenschaften oder Credentials Eigenschaften.

Wenn Sie eine SmtpException Ausnahme erhalten, überprüfen Sie die StatusCode Eigenschaft, um den Grund zu ermitteln, warum der Vorgang fehlgeschlagen ist. Dies SmtpException kann auch eine innere Ausnahme enthalten, die angibt, warum der Vorgang fehlgeschlagen ist.

Beim Senden von E-Mails an Send mehrere Empfänger und der SMTP-Server akzeptiert einige Empfänger als gültig und lehnt andere ab, Send sendet E-Mails an die akzeptierten Empfänger und wird dann SmtpFailedRecipientsException ausgelöst (oder wenn SmtpFailedRecipientException nur ein Empfänger abgelehnt wird). A SmtpFailedRecipientsException enthält eine Liste der Empfänger, die abgelehnt wurden.

Hinweis

Wenn die EnableSsl Eigenschaft auf true, und der SMTP-E-Mail-Server in der Antwort auf den EHLO-Befehl nicht ankündigen, löst ein Aufruf der Send Methoden SendAsync einen SmtpException.

Gilt für: