SmtpClient.Send Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sendet eine E-Mail für die Übermittlung an einen SMTP-Server. Diese Methoden werden während der Übertragung der Nachricht blockiert.
Überlädt
Send(MailMessage) |
Sendet die angegebene Nachricht an einen SMTP-Server für die Übermittlung. |
Send(String, String, String, String) |
Sendet die angegebene E-Mail für die Übermittlung an einen SMTP-Server. Der Absender, die Empfänger, der Betreff und der Text der Nachricht werden mit String-Objekten angegeben. |
Send(MailMessage)
- Quelle:
- SmtpClient.cs
- Quelle:
- SmtpClient.cs
- Quelle:
- SmtpClient.cs
Sendet die angegebene Nachricht an einen SMTP-Server für die Übermittlung.
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
Eine MailMessage, die die zu sendende Nachricht enthält.
Ausnahmen
message
ist null
.
Ein SmtpClient weiterer Sendevorgang wird bereits ausgeführt.
- oder -
From ist null
.
- oder -
In den Eigenschaften To, CC und Bcc sind keine Empfänger angegeben.
- oder -
Die DeliveryMethod-Eigenschaft ist auf Network festgelegt, und Host ist null
.
- oder -
Die DeliveryMethod-Eigenschaft ist auf Network festgelegt, und Host ist gleich der leeren Zeichenfolge ("").
- oder -
DeliveryMethod-Eigenschaft wird auf Network festgelegt, und Port ist 0 (null), eine negative Zahl oder größer als 65,535.
Dieses Objekt wurde verworfen.
Die Verbindung mit dem SMTP-Server ist fehlgeschlagen.
- oder -
Fehler bei der Authentifizierung.
- oder -
Timeout für den Vorgang.
- oder -
EnableSsl ist auf true
festgelegt, die DeliveryMethod-Eigenschaft ist jedoch auf SpecifiedPickupDirectory oder PickupDirectoryFromIis festgelegt.
- oder -
EnableSsl wird auf true,
festgelegt, aber der SMTP-E-Mail-Server hat nicht STARTTLS in der Antwort auf den EHLO-Befehl angeboten.
Beispiele
Im folgenden Codebeispiel wird die Verwendung dieser Methode veranschaulicht.
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());
}
}
Hinweise
Diese Methode blockiert, während die E-Mail übertragen wird. Sie können mithilfe der Timeout -Eigenschaft einen Timeoutwert angeben, um sicherzustellen, dass die Methode nach ablaufen einer bestimmten Zeitspanne zurückgibt.
Vor dem Aufrufen dieser Methode müssen die Host Eigenschaften und Port entweder über die Konfigurationsdateien festgelegt werden, indem die relevanten Eigenschaften festgelegt oder diese Informationen an den SmtpClient(String, Int32) Konstruktor übergeben werden.
Sie können diese Methode nicht aufrufen, wenn eine Nachricht asynchron gesendet wird.
Wenn der SMTP-Host Anmeldeinformationen erfordert, müssen Sie diese festlegen, bevor Sie diese Methode aufrufen. Verwenden Sie zum Angeben von Anmeldeinformationen die -Eigenschaft oder Credentials die UseDefaultCredentials -Eigenschaft.
Wenn Sie eine SmtpException Ausnahme erhalten, überprüfen Sie die StatusCode -Eigenschaft, um den Grund zu ermitteln, warum der Vorgang fehlgeschlagen ist. Der SmtpException kann auch eine innere Ausnahme enthalten, die den Grund 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 dann wird eine SmtpFailedRecipientsException ausgelöst (oder ein, wenn nur ein SmtpFailedRecipientException Empfänger abgelehnt wird). Ein SmtpFailedRecipientsException enthält eine Liste der Empfänger, die abgelehnt wurden.
Hinweis
Wenn die EnableSsl -Eigenschaft auf true
festgelegt ist und der SMTP-E-Mail-Server in der Antwort auf den EHLO-Befehl nicht STARTTLS angibt, löst ein Aufruf der Send -Methode oder SendAsync eine aus SmtpException.
Gilt für:
Send(String, String, String, String)
- Quelle:
- SmtpClient.cs
- Quelle:
- SmtpClient.cs
- Quelle:
- SmtpClient.cs
Sendet die angegebene E-Mail für die Übermittlung an einen SMTP-Server. Der Absender, die Empfänger, der Betreff und der Text der Nachricht werden mit 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
Ausnahmen
Ein SmtpClient weiterer Sendevorgang wird bereits ausgeführt.
- oder -
Die DeliveryMethod-Eigenschaft ist auf Network festgelegt, und Host ist null
.
- oder -
Die DeliveryMethod-Eigenschaft ist auf Network festgelegt, und Host ist gleich der leeren Zeichenfolge ("").
- oder -
DeliveryMethod-Eigenschaft wird auf Network festgelegt, und Port ist 0 (null), eine negative Zahl oder größer als 65,535.
Dieses Objekt wurde verworfen.
Die Verbindung mit dem SMTP-Server ist fehlgeschlagen.
- oder -
Fehler bei der Authentifizierung.
- oder -
Timeout für den Vorgang.
- oder -
EnableSsl ist auf true
festgelegt, die DeliveryMethod-Eigenschaft ist jedoch auf SpecifiedPickupDirectory oder PickupDirectoryFromIis festgelegt.
- oder -
EnableSsl wird auf true,
festgelegt, aber der SMTP-E-Mail-Server hat nicht STARTTLS in der Antwort auf den EHLO-Befehl angeboten.
Hinweise
Diese Methode blockiert, während die E-Mail übertragen wird. Sie können mithilfe der Timeout -Eigenschaft einen Timeoutwert angeben, um sicherzustellen, dass die Methode nach ablaufen einer bestimmten Zeitspanne zurückgibt.
Vor dem Aufrufen dieser Methode müssen die Host Eigenschaften und Port entweder über die Konfigurationsdateien festgelegt werden, indem die relevanten Eigenschaften festgelegt oder diese Informationen an den SmtpClient(String, Int32) Konstruktor übergeben werden.
Sie können diese Methode nicht aufrufen, wenn eine Nachricht asynchron gesendet wird.
Wenn der SMTP-Host Anmeldeinformationen erfordert, müssen Sie diese festlegen, bevor Sie diese Methode aufrufen. Verwenden Sie zum Angeben von Anmeldeinformationen die -Eigenschaft oder Credentials die UseDefaultCredentials -Eigenschaft.
Wenn Sie eine SmtpException Ausnahme erhalten, überprüfen Sie die StatusCode -Eigenschaft, um den Grund zu ermitteln, warum der Vorgang fehlgeschlagen ist. Der SmtpException kann auch eine innere Ausnahme enthalten, die den Grund 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 dann wird eine SmtpFailedRecipientsException ausgelöst (oder ein, wenn nur ein SmtpFailedRecipientException Empfänger abgelehnt wird). Ein SmtpFailedRecipientsException enthält eine Liste der Empfänger, die abgelehnt wurden.
Hinweis
Wenn die EnableSsl -Eigenschaft auf true
festgelegt ist und der SMTP-E-Mail-Server in der Antwort auf den EHLO-Befehl nicht STARTTLS angibt, löst ein Aufruf der Send -Methode oder SendAsync eine aus SmtpException.