Vytvoření MIME zpráv pomocí C#

Při odesílání e-mailu můžete potřebovat odeslat multimediální obsah, jako jsou obrázky, audio a video. To je místo, kde přicházejí na řadu MIME (Multipurpose Internet Mail Extensions) zprávy. V tomto článku prozkoumáme, jak programově vytvářet EML zprávy v C#. Na konci článku budete mít přehled o tom, jak vytvářet MIME zprávy, přidávat obrázky do HTML obsahu e-mailu a ukládat e-mail do formátu EML.

.NET API pro vytvoření MIME zpráv

Než vytvoříte svou první MIME zprávu, prvním krokem je nainstalovat Aspose.Email for .NET do vašeho projektu. Je to mocná knihovna pro vývojáře C#, která poskytuje komplexní sadu nástrojů pro práci s e-mailovými zprávami, včetně schopnosti programově vytvářet MIME zprávy. Knihovna pomáhá vývojářům snadno manipulovat s různými aspekty MIME zpráv, jako jsou přílohy, tělo, hlavička, kódování a další. Knihovnu můžete nainstalovat prostřednictvím NuGet nebo stáhnout její DLL.

PM> Install-Package Aspose.Email

Vytvoření EML souboru od nuly

Protože vaše API bylo nainstalováno, je čas vytvořit váš první eml od nuly. Jeden z nejjednodušších způsobů, jak to udělat, je použít třídu MailMessage z Aspose.Email. Třída MailMessage vám umožňuje vytvořit objekt e-mailové zprávy s různými vlastnostmi a metodami, které vám umožňují nastavit odesílatele, příjemce, předmět, tělo, přílohy, hlavičky a další podrobnosti vašeho e-mailu.

Následující kroky a úryvek kódu vám pomohou vytvořit EML od nuly:

  • Vytvořte nový objekt MailMessage pomocí výchozího konstruktoru.
  • Nastavte vlastnosti objektu MailMessage podle svých potřeb.
  • Uložte objekt MailMessage do EML souboru pomocí metody Save.

Metoda Save třídy MailMessage přijímá dva parametry: cestu k souboru a možnosti uložení. Možnosti uložení určují formát výstupního souboru.

Přidání obrázku do HTML obsahu

Pro provedení této funkce musíte vložit obrázek do HTML těla. K tomu můžete použít tag “img”.

Následující úryvek kódu ukazuje, jak přidat obrázek do HTML těla zprávy.

  • HTML tělo obsahuje tag obrázku s atributem src nastaveným na cid:image1.
  • Třída AlternateView se používá k získání alternativního pohledu těla zprávy, který obsahuje vložený obrázek.
  • Třída LinkedResource se používá k reprezentaci vloženého obrázku a jeho obsahové ID je nastaveno na image1.
  • Nakonec je alternativní pohled přidán do kolekce alternativních pohledů zprávy.

Vytvoření EML souboru z HTML souboru

Jedním ze způsobů, jak to udělat, je začít s HTML souborem a převést ho na EML. To může být užitečné, pokud máte HTML, které chcete odeslat jako e-mailovou zprávu. Pro tento účel potřebujeme nejprve mít HTML obsah. Pojmenujme tento soubor content.html. Zde je jeho příklad:

<!DOCTYPE html>
<html>
<head>
	<title>My Email</title>
</head>
<body>
	<h1>Ahoj,</h1>
	<img src="logo.png" alt="Logo">
	<p>Toto je můj první e-mail vytvořený z HTML.</p>
</body>
</html>

Také musíte předem připravit všechny obrázky, které obsahují HTML, a uvést k nim správnou cestu v HTML souboru.

Nyní můžeme snadno vytvořit MailMessage nastavením HTML těla z content.html.

  • Nejprve vytvořte nový objekt HtmlLoadOptions.
  • Nastavte řetězec, který obsahuje cestu k obrázkům v PathToResources.
  • Nastavte vlastnost ShouldAddPlainTextView na true, pokud by EML měl obsahovat AlternateView s prostým textem.
  • Vytvořte objekt MailMessage načtením HTML souboru a předáním objektu HtmlLoadOptions jako parametru.
  • Nastavte další vlastnosti zprávy.
  • Nakonec uložte objekt MailMessage do EML souboru pomocí metody Save.

Tipy pro zlepšení zobrazení HTML zprávy v Outlooku

Aby bylo možné zobrazit vaši HTML zprávu v Outlooku, musíte se ujistit, že její kód je kompatibilní s renderovacím enginem Outlooku, který se liší od většiny webových prohlížečů. Některé běžné problémy, které mohou ovlivnit váš HTML e-mail v Outlooku, jsou:

  • Outlook nepodporuje některé ze svých tagů a CSS vlastností, jako jsou pozadí obrázky, floaty, okraje, paddingy atd. Můžete potřebovat použít inline styly, tabulky nebo podmíněné komentáře k dosažení požadovaného rozložení a formátování.
  • Outlook může přidávat další mezery nebo řádky mezi prvky nebo úplně odstraňovat některé prvky. Můžete potřebovat použít neprolomitelné mezery, nulové šířky mezery nebo prázdné buňky tabulky, abyste tomu zabránili.
  • Outlook může změnit kódování nebo znakové sady vašeho HTML souboru, což může způsobit, že se některé znaky zobrazí nesprávně. Můžete potřebovat specifikovat kódování a znakové sady pomocí meta tagu.

Závěr

V tomto blogovém příspěvku jste se naučili, jak programově vytvářet MIME zprávy v C# pomocí Aspose.Email. Krok za krokem tutoriál a úryvky kódu ukázaly, jak vytvořit EML soubor od nuly a z HTML souboru, přidat obrázek do HTML obsahu e-mailové zprávy a podpořit vše výše uvedené s užitečnými tipy, jak zlepšit zobrazení vaší HTML zprávy v Outlooku.

  • Můžete prozkoumat více o Aspose.Email for .NET a vyzkoušet to zdarma.
  • Můžete také zkontrolovat další funkce a funkčnosti Aspose.Email v dokumentaci.
  • Vaše dotazy jsou vítány na našem fóru.

Viz také