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.

C# poslat outlook email

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.

Viz také

Přidat a aktualizovat pravidla doručené pošty na MS Exchange Server v C#Přidat a odebrat členy v distribučních seznamech MS Exchange v JavěOdeslat dokument Word v těle e-mailu pomocí C#
Přidat a aktualizovat pravidla doručené pošty na MS Exchange Server v JavěPřidat, aktualizovat a odstranit kontakty z Microsoft Exchange Server v C#Přidat, aktualizovat a odstranit kontakty z Microsoft Exchange Server v Javě
Přidat a odebrat členy v distribučních seznamech MS Exchange v jazyce C#Posílat e-maily přes SMTP v Python