SmtpClient.Send Metod

Definition

Skickar ett e-postmeddelande till en SMTP-server för leverans. Dessa metoder blockerar när meddelandet överförs.

Överlagringar

Name Description
Send(MailMessage)

Skickar det angivna meddelandet till en SMTP-server för leverans.

Send(String, String, String, String)

Skickar det angivna e-postmeddelandet till en SMTP-server för leverans. Meddelandesändare, mottagare, ämne och meddelandetext anges med hjälp av String objekt.

Send(MailMessage)

Skickar det angivna meddelandet till en SMTP-server för leverans.

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)

Parametrar

message
MailMessage

En MailMessage som innehåller meddelandet som ska skickas.

Undantag

message är null.

Detta SmtpClient har en annan sändningsåtgärd som redan pågår.

-eller-

From är null.

-eller-

Inga mottagare har angetts i Toegenskaperna , CCoch Bcc .

-eller-

DeliveryMethod egenskapen är inställd på Network och Host är null.

-eller-

DeliveryMethod egenskapen är inställd på Network och Host är lika med den tomma strängen ("").

-eller-

DeliveryMethod egenskapen är inställd på Network och Port är noll, ett negativt tal eller större än 65 535.

Det här objektet har tagits bort.

Anslutningen till SMTP-servern misslyckades.

-eller-

Autentiseringen misslyckades.

-eller-

Åtgärden har överskridit tidsgränsen.

-eller-

EnableSsl är inställt på true men egenskapen DeliveryMethod är inställd på SpecifiedPickupDirectory eller PickupDirectoryFromIis.

-eller-

EnableSsl är inställt på true, men SMTP-e-postservern annonserade inte STARTTLS i svaret på EHLO-kommandot.

Det message gick inte att leverera den till en av mottagarna i To, CCeller Bcc.

Det message gick inte att leverera till två eller flera av mottagarna i To, CCeller Bcc.

Exempel

Följande kodexempel visar hur du använder den här metoden.

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

Kommentarer

Den här metoden blockerar när e-postmeddelandet överförs. Du kan ange ett timeout-värde med hjälp av Timeout egenskapen för att säkerställa att metoden returneras efter en angiven tidsperiod.

Innan du anropar den här metoden Host måste egenskaperna och Port anges antingen via konfigurationsfilerna genom att ange relevanta egenskaper eller genom att den här informationen skickas SmtpClient(String, Int32) till konstruktorn.

Du kan inte anropa den här metoden om ett meddelande skickas asynkront.

Om SMTP-värden kräver autentiseringsuppgifter måste du ange dem innan du anropar den här metoden. Om du vill ange autentiseringsuppgifter använder du UseDefaultCredentials egenskaperna eller Credentials .

Om du får ett SmtpException undantag kontrollerar du StatusCode egenskapen för att hitta orsaken till att åtgärden misslyckades. SmtpException Kan också innehålla ett inre undantag som anger orsaken till att åtgärden misslyckades.

När du skickar e-post med flera Send mottagare och SMTP-servern accepterar vissa mottagare som giltiga och avvisar andra, Send skickar e-post till de godkända mottagarna och sedan genereras en SmtpFailedRecipientsException (eller en om endast en SmtpFailedRecipientException mottagare avvisas). En SmtpFailedRecipientsException innehåller en lista över mottagare som avvisades.

Note

EnableSsl Om egenskapen är inställd på true, och SMTP-e-postservern inte annonserar STARTTLS i svaret på EHLO-kommandot, kommer ett anrop till Send metoderna eller SendAsync att utlösa en SmtpException.

Gäller för

Send(String, String, String, String)

Skickar det angivna e-postmeddelandet till en SMTP-server för leverans. Meddelandesändare, mottagare, ämne och meddelandetext anges med hjälp av String objekt.

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);
member this.Send : string * string * string * string -> unit
Public Sub Send (from As String, recipients As String, subject As String, body As String)

Parametrar

from
String

En String som innehåller adressinformationen för meddelandesändaren.

recipients
String

En String som innehåller adresserna som meddelandet skickas till.

subject
String

En String som innehåller ämnesraden för meddelandet.

body
String

En String som innehåller meddelandetexten.

Undantag

from är null.

-eller-

recipients är null.

from är Empty.

-eller-

recipients är Empty.

Detta SmtpClient har en annan sändningsåtgärd som redan pågår.

-eller-

DeliveryMethod egenskapen är inställd på Network och Host är null.

-eller-

DeliveryMethod egenskapen är inställd på Network och Host är lika med den tomma strängen ("").

-eller-

DeliveryMethod egenskapen är inställd på Network och Port är noll, ett negativt tal eller större än 65 535.

Det här objektet har tagits bort.

Anslutningen till SMTP-servern misslyckades.

-eller-

Autentiseringen misslyckades.

-eller-

Åtgärden har överskridit tidsgränsen.

-eller-

EnableSsl är inställt på true men egenskapen DeliveryMethod är inställd på SpecifiedPickupDirectory eller PickupDirectoryFromIis.

-eller-

EnableSsl är inställt på true, men SMTP-e-postservern annonserade inte STARTTLS i svaret på EHLO-kommandot.

Det gick inte att skicka meddelandet till någon av mottagarna i To, CCeller Bcc.

Det gick inte att leverera meddelandet till två eller flera av mottagarna i To, CCeller Bcc.

Kommentarer

Den här metoden blockerar när e-postmeddelandet överförs. Du kan ange ett timeout-värde med hjälp av Timeout egenskapen för att säkerställa att metoden returneras efter en angiven tidsperiod.

Innan du anropar den här metoden Host måste egenskaperna och Port anges antingen via konfigurationsfilerna genom att ange relevanta egenskaper eller genom att den här informationen skickas SmtpClient(String, Int32) till konstruktorn.

Du kan inte anropa den här metoden om ett meddelande skickas asynkront.

Om SMTP-värden kräver autentiseringsuppgifter måste du ange dem innan du anropar den här metoden. Om du vill ange autentiseringsuppgifter använder du UseDefaultCredentials egenskaperna eller Credentials .

Om du får ett SmtpException undantag kontrollerar du StatusCode egenskapen för att hitta orsaken till att åtgärden misslyckades. SmtpException Kan också innehålla ett inre undantag som anger orsaken till att åtgärden misslyckades.

När du skickar e-post med flera Send mottagare och SMTP-servern accepterar vissa mottagare som giltiga och avvisar andra, Send skickar e-post till de godkända mottagarna och sedan genereras en SmtpFailedRecipientsException (eller en om endast en SmtpFailedRecipientException mottagare avvisas). En SmtpFailedRecipientsException innehåller en lista över mottagare som avvisades.

Note

EnableSsl Om egenskapen är inställd på true, och SMTP-e-postservern inte annonserar STARTTLS i svaret på EHLO-kommandot, kommer ett anrop till Send metoderna eller SendAsync att utlösa en SmtpException.

Gäller för