SmtpClient.Send Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.
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
Undantag
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.
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.