V tomto blogu se dozvíte, jak vytvořit e-mailové zprávy aplikace Outlook (včetně MSG, EML, EMLX nebo MHTML) v C#. Také si ukážeme, jak posílat e-maily synchronně nebo asynchronně pomocí C# v .NET nebo .NET Core.
E-mail se stal primárním zdrojem výměny zpráv a sdílení obsahu, jako jsou dokumenty, obrázky nebo jiné typy souborů. Frekvence používání emailů je spíše v rámci online systémů pro sdílení důležitých notifikací nebo dokumentů s více subjekty. V takových případech může být příprava šablony a ruční odesílání e-mailů více zúčastněným osobám časově náročným a hektickým úkolem.
Zde přichází potřeba e-mailové automatizační služby, pomocí které můžete bez problémů vytvářet a odesílat e-maily. V tomto článku vás tedy naučím, jak vytvářet e-mailové zprávy oblíbených formátů aplikace Outlook a programově automatizovat proces odesílání e-mailů. Po přečtení tohoto článku budete moci:
- vytvořit a uložit e-mailovou zprávu v C#,
- vytvořit e-mail s tělem HTML v C#,
- vytvořit e-mail s konkrétním kódováním v C#,
- posílat e-maily synchronně pomocí SMTP v C#,
- posílat e-maily asynchronně pomocí SMTP v C#,
- a posílat hromadné e-maily v C#.
C# API pro vytváření a odesílání e-mailů aplikace Outlook
Abychom zautomatizovali proces vytváření a odesílání e-mailových zpráv, budeme používat Aspose.Email for .NET, což je výkonné API pro manipulaci a zpracování e-mailů. Podporuje oblíbené e-mailové formáty včetně zpráv MS Outlook, jako je MSG, EML/EMLX atd. Rozhraní API si můžete přímo stáhnout DLL nebo je nainstalovat pomocí NuGet Package Manager nebo konzole Správce balíčků ve Visual Studiu .
PM> Install-Package Aspose.Email
Poté, co jste vytvořili C# (Console, ASP.NET, atd.) aplikaci a nainstalovali Aspose.Email for .NET, můžete začít vytvářet a odesílat e-maily v C#.
Vytvořte e-mail Outlook v C#
Aby bylo možné vytvářet nebo manipulovat s e-mailovými zprávami aplikace Outlook, Aspose.Email poskytuje třídu MailMessage. Tato třída vám umožňuje nastavit všechny vlastnosti e-mailové zprávy (Předmět, Komu, Od a Tělo), přidávat přílohy a ukládat zprávu v různých formátech e-mailu, jako je EML, MSG, MHTML atd. Níže jsou uvedeny kroky k vytvoření e-mailová zpráva:
- Vytvořte instanci třídy MailMessage.
- Nastavte vlastnosti zprávy.
- Uložte e-mailovou zprávu pomocí metody MailMessage.Save().
Následující ukázka kódu ukazuje, jak vytvořit a uložit e-mailovou zprávu v C#.
// Vytvořte novou instanci třídy MailMessage
MailMessage message = new MailMessage();
// Nastavte předmět zprávy, tělo a informace o odesílateli
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);
// Přidat k příjemcům a příjemcům kopie
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Přidejte přílohy
message.Attachments.Add(new Attachment("word.docx"));
// Uložte zprávu ve formátech EML, EMLX, MSG a MHTML
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);
Vytvořte e-mail Outlook s tělem HTML v C#
HTML tagy se používají k tomu, aby bylo tělo e-mailu strukturovanější, prezentovatelnější a obohacené o různé prvky, jako jsou tabulky, obrázky, seznamy a tak dále. V případě, že chcete vytvořit e-mail s tělem HTML, můžete použít vlastnost MailMessage.HtmlBody. Následující ukázka kódu ukazuje, jak vytvořit e-mail Outlook s tělem HTML v C#.
// Vytvořte novou instanci třídy MailMessage
MailMessage message = new MailMessage();
// Nastavte předmět zprávy, Html tělo a informace o odesílateli
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);
// Přidat k příjemcům a příjemcům kopie
message.To.Add(new MailAddress("to1@domain.com", "Recipient 1", false));
message.CC.Add(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Uložte zprávu ve formátu EML/EMLX/MSG/MHTML
message.Save("EmailMessage.eml", SaveOptions.DefaultEml);
C# Vytvořte e-mail Outlook s konkrétním kódováním
Můžete také zadat požadovaný standard kódování a sdělit tak prohlížeči nebo e-mailové aplikaci, jak interpretovat znaky v těle e-mailu. K tomuto účelu slouží vlastnost MailMessage.BodyEncoding. Následující ukázka kódu ukazuje, jak nastavit kódování těla při vytváření e-mailu aplikace Outlook pomocí jazyka C#.
// Vytvořte novou instanci třídy MailMessage
MailMessage message = new MailMessage();
// Nastavte předmět zprávy, tělo Html, informace o odesílateli a příjemci
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));
// Zadejte kódování
message.BodyEncoding = Encoding.ASCII;
// Uložte zprávu ve formátu EML/EMLX/MSG/MHTML
message.Save("EmailMessage.msg", SaveOptions.DefaultMsgUnicode);
Odesílejte e-maily aplikace Outlook synchronně nebo asynchronně v C#
Nyní, jakmile vytvoříte e-mailovou zprávu, můžete ji odeslat jejím příjemcům synchronně nebo asynchronně. Třída SmtpClient vám umožňuje odesílat e-mailové zprávy aplikace Outlook pomocí protokolu SMTP (Simple Mail Transfer Protocol). Následují kroky k odeslání e-mailu v C# pomocí Aspose.Email for .NET.
- Vytvořte nebo načtěte e-mailovou zprávu pomocí třídy MailMessage.
- Vytvořte instanci třídy SmtpClient a nastavte hostitele, uživatelské jméno, heslo a číslo portu.
- Odesílejte e-maily synchronně nebo asynchronně pomocí metody SmtpClient.Send nebo SmtpClient.SendAsync.
Odeslat e-mail Outlook synchronně v C#
// Vytvořte instanci MailMessage. Můžete vytvořit novou zprávu nebo načíst již vytvořený soubor zpráv (eml, msg atd.)
MailMessage msg = MailMessage.Load("EmailMessage.msg");
// Vytvořte instanci třídy SmtpClient
SmtpClient client = new SmtpClient();
// Zadejte hostitele pošty, uživatelské jméno, heslo, port # a možnost zabezpečení
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
try
{
// Pošlete tento email
client.Send(msg);
}
catch (Exception ex)
{
Trace.WriteLine(ex.ToString());
}
Odeslat e-mail Outlook asynchronně v C#
// Vytvořte instanci MailMessage. Můžete vytvořit novou zprávu nebo načíst již vytvořený soubor zpráv (eml, msg atd.)
MailMessage msg = MailMessage.Load("EmailMessage.msg");
// Vytvořte instanci třídy SmtpClient
SmtpClient client = new SmtpClient();
// Zadejte hostitele pošty, uživatelské jméno, heslo, port # a možnost zabezpečení
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
// Zadejte hostitele pošty, uživatelské jméno, heslo, port # a možnost zabezpečení
client.Host = "mail.server.com";
client.Username = "username";
client.Password = "password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
// Odesílejte zprávy
client.SendAsync(msg);
Console.WriteLine("Sending message...");
msg.Dispose();
Odesílání hromadných e-mailů v C#
Můžete také vytvářet a odesílat e-maily hromadně. Třída MailMessageCollection se používá k uložení kolekce e-mailových zpráv, které chcete odeslat. Následující ukázka kódu ukazuje, jak odesílat hromadné e-maily v C#.
// Vytvořte SmtpClient a zadejte server, port, uživatelské jméno a heslo
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
// Vytvořte instance třídy MailMessage a zadejte Komu, Od, Předmět a Zpráva
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?");
// Vytvořte instanci MailMessageCollection a přidejte do ní e-mailové zprávy
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.Add(message1);
manyMsg.Add(message2);
manyMsg.Add(message3);
try
{
// Odesílejte zprávy
client.Send(manyMsg);
}
catch (Exception ex)
{
Trace.WriteLine(ex.ToString());
}
Aspose Email API pro C# – živé ukázky
Závěr
V tomto článku jste se naučili vytvářet e-maily Outlook v C#. Dále jste viděli, jak odesílat e-maily synchronně nebo asynchronně z aplikací .NET. Chcete-li se dozvědět více o API, můžete prozkoumat dokumentaci Aspose.Email for .NET.