I den här bloggen kommer du att lära dig hur du skapar Outlook-e-postmeddelanden (inklusive MSG, EML, EMLX eller MHTML) i C#. Vi kommer också att visa hur man skickar e-post synkront eller asynkront med C# i .NET eller .NET Core.
E-postmeddelandet har blivit en primär källa för att utbyta meddelanden och dela innehåll som dokument, bilder eller andra typer av filer. Frekvensen av att använda e-post är mer inom onlinesystemen för att dela viktiga meddelanden eller dokument med flera enheter. I sådana fall kan det vara en tidskrävande och hektisk uppgift att förbereda en mall och skicka e-postmeddelanden till flera intressenter manuellt.
Här kommer behovet av en e-postautomatiseringstjänst med vilken du kan skapa och skicka e-postmeddelanden sömlöst. Så i den här artikeln kommer jag att lära dig hur du skapar e-postmeddelanden i populära Outlook-format och automatiserar processen att skicka e-postmeddelanden programmatiskt. Efter att ha läst den här artikeln kommer du att kunna:
- skapa och spara ett e-postmeddelande i C#,
- skapa ett e-postmeddelande med HTML-text i C#,
- skapa ett e-postmeddelande med en viss kodning i C#,
- skicka e-post synkront med SMTP i C#,
- skicka e-post asynkront med SMTP i C#,
- och skicka massmail i C#.
C# API för att skapa och skicka Outlook-e-post
För att automatisera processen att skapa och skicka e-postmeddelanden kommer vi att använda Aspose.Email for .NET som är ett kraftfullt e-postmanipulerings- och bearbetnings-API. Den stöder populära e-postformat inklusive MS Outlook-meddelanden som MSG, EML/EMLX, etc. Du kan direkt ladda ner API:s DLL eller installera den via NuGet Package Manager eller Package Manager Console i Visual Studio .
PM> Install-Package Aspose.Email
Efter att du har skapat ett C#-program (Console, ASP.NET, etc.) och installerat Aspose.Email för .NET, kan du börja skapa och skicka e-postmeddelanden i C#.
Skapa ett Outlook-e-postmeddelande i C#
För att skapa eller manipulera Outlook-e-postmeddelanden tillhandahåller Aspose.Email klassen MailMessage. Den här klassen låter dig ställa in alla egenskaper för ett e-postmeddelande (Ämne, Till, Från och Bröd), lägga till bilagor och spara meddelandet i olika e-postformat som EML, MSG, MHTML, etc. Följande är stegen för att skapa ett e-postmeddelande:
- Skapa en instans av klassen MailMessage.
- Ställ in meddelandets egenskaper.
- Spara e-postmeddelandet med metoden MailMessage.Save().
Följande kodexempel visar hur man skapar och sparar ett e-postmeddelande i C#.
// Skapa en ny instans av klassen MailMessage
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, text och avsändarinformation
message.Subject = "New message created by Aspose.Email for .NET";
message.Body = "This is the body of the email.";
message.From = new MailAddress("from@domain.com", "Sender Name", false);
// Lägg till till mottagare och CC-mottagare
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Lägg till bilagor
message.Attachments.Add(new Attachment("word.docx"));
// Spara meddelande i EML-, EMLX-, MSG- och MHTML-format
message.Save("EmailMessage.eml", SaveOptions.DefaultEml);
message.Save("EmailMessage.emlx", SaveOptions.CreateSaveOptions(MailMessageSaveType.EmlxFormat));
message.Save("EmailMessage.msg", SaveOptions.DefaultMsgUnicode);
message.Save("EmailMessage.mhtml", SaveOptions.DefaultMhtml);
Skapa ett Outlook-e-postmeddelande med HTML Body i C#
HTML-taggarna används för att göra e-posttexten mer strukturerad, presentabel och berikad med olika element som tabeller, bilder, listor och så vidare. Om du vill skapa ett e-postmeddelande med HTML-text kan du använda egenskapen MailMessage.HtmlBody. Följande kodexempel visar hur du skapar ett Outlook-e-postmeddelande med HTML-text i C#.
// Skapa en ny instans av klassen MailMessage
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, HTML-text och avsändarinformation
message.Subject = "New message created by Aspose.Email for .NET";
message.HtmlBody = "<b>This line is in bold.</b> <br/> <br/>" + "<font color=blue>This line is in blue color</font>";
message.From = new MailAddress("from@domain.com", "Sender Name", false);
// Lägg till till mottagare och CC-mottagare
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Spara meddelande i EML/EMLX/MSG/MHTML-format
message.Save("EmailMessage.eml", SaveOptions.DefaultEml);
C# Skapa ett Outlook-e-postmeddelande med en särskild kodning
Du kan också ange önskad kodningsstandard för att berätta för webbläsaren eller e-postprogrammet om hur man tolkar tecknen i e-postmeddelandets brödtext. Egenskapen MailMessage.BodyEncoding används för detta ändamål. Följande kodexempel visar hur du ställer in kroppskodning när du skapar ett Outlook-e-postmeddelande med C#.
// Skapa en ny instans av klassen MailMessage
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, HTML-text, avsändare och mottagare
message.Subject = "New message created by Aspose.Email for .NET";
message.HtmlBody = "<b>This line is in bold.</b> <br/> <br/>" + "<font color=blue>This line is in blue color</font>";
message.From = new MailAddress("from@domain.com", "Sender Name", false);
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
// Ange kodning
message.BodyEncoding = Encoding.ASCII;
// Spara meddelande i EML/EMLX/MSG/MHTML-format
message.Save("EmailMessage.msg", SaveOptions.DefaultMsgUnicode);
Skicka Outlook-e-post synkront eller asynkront i C#
Nu, när du har skapat e-postmeddelandet, kan du skicka det till dess mottagare synkront eller asynkront. Klassen SmtpClient låter dig skicka Outlook-e-postmeddelanden med SMTP (Simple Mail Transfer Protocol). Följande är stegen för att skicka ett e-postmeddelande i C# med Aspose.Email för .NET.
- Skapa eller ladda ett e-postmeddelande med klassen MailMessage.
- Skapa en instans av SmtpClient-klassen och ställ in värd, användarnamn, lösenord och portnummer.
- Skicka e-post synkront eller asynkront med metoden SmtpClient.Send respektive SmtpClient.SendAsync.
Skicka ett Outlook-e-postmeddelande synkront i C#
// Skapa MailMessage-instans. Du kan skapa ett nytt meddelande eller ladda en redan skapad meddelandefil (eml, msg, etc.)
MailMessage msg = MailMessage.Load("EmailMessage.msg");
// Skapa en instans av klassen SmtpClient
SmtpClient client = new SmtpClient();
// Ange din postvärd, användarnamn, lösenord, portnr och säkerhetsalternativ
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
try
{
// Skicka detta mejl
client.Send(msg);
}
catch (Exception ex)
{
Trace.WriteLine(ex.ToString());
}
Skicka ett Outlook-e-postmeddelande asynkront i C#
// Skapa MailMessage-instans. Du kan skapa ett nytt meddelande eller ladda en redan skapad meddelandefil (eml, msg, etc.)
MailMessage msg = MailMessage.Load("EmailMessage.msg");
// Skapa en instans av klassen SmtpClient
SmtpClient client = new SmtpClient();
// Ange din postvärd, användarnamn, lösenord, portnr och säkerhetsalternativ
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
// Ange din postvärd, användarnamn, lösenord, portnr och säkerhetsalternativ
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
// Skicka meddelanden
client.SendAsync(msg);
Console.WriteLine("Sending message...");
msg.Dispose();
Skicka massmeddelanden i C#
Du kan också skapa och skicka e-postmeddelanden samtidigt. Klassen MailMessageCollection används för att innehålla samlingen av e-postmeddelanden du vill skicka. Följande kodexempel visar hur man skickar massmeddelanden i C#.
// Skapa SmtpClient och ange server, port, användarnamn och lösenord
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
// Skapa instanser av klassen MailMessage och ange Till, Från, Ämne och Meddelande
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");
// Skapa en instans av MailMessageCollection och lägg till e-postmeddelanden till den
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.Add(message1);
manyMsg.Add(message2);
manyMsg.Add(message3);
try
{
// Skicka meddelanden
client.Send(manyMsg);
}
catch (Exception ex)
{
Trace.WriteLine(ex.ToString());
}
Aspose Email API för C# - Live Demos
Slutsats
I den här artikeln har du lärt dig hur du skapar Outlook-e-postmeddelanden i C#. Dessutom har du sett hur du skickar e-postmeddelanden synkront eller asynkront från .NET-applikationer. Du kan utforska dokumentationen av Aspose.Email för .NET för att lära dig mer om API:et.