Create MIME messages using C#

Podczas wysyłania wiadomości e-mail możesz potrzebować przesłać multimedia, takie jak obrazy, audio i wideo. Tutaj wchodzą w grę wiadomości MIME (Multipurpose Internet Mail Extensions). W tym artykule omówimy, jak programowo tworzyć wiadomości EML w C#. Do końca artykułu zrozumiesz jak tworzyć wiadomości MIME, dodawać obrazy do treści HTML wiadomości e-mail i zapisywać e-mail w formacie EML.

.NET API do tworzenia wiadomości MIME

Zanim stworzysz swoją pierwszą wiadomość MIME, pierwszym krokiem jest zainstalowanie Aspose.Email for .NET w swoim projekcie. To potężna biblioteka dla programistów C#, która oferuje kompleksowy zestaw narzędzi do pracy z wiadomościami e-mail, w tym możliwość programowego tworzenia wiadomości MIME. Biblioteka umożliwia programistom łatwe manipulowanie różnymi aspektami wiadomości MIME, takimi jak załączniki, treść, nagłówki, kodowanie i inne. Możesz zainstalować bibliotekę za pośrednictwem NuGet lub pobrać jej DLL.

PM> Install-Package Aspose.Email

Utwórz plik EML od podstaw

Ponieważ twoje API zostało zainstalowane, czas na stworzenie swojego pierwszego eml od podstaw. Jednym z najprostszych sposobów jest użycie klasy MailMessage z Aspose.Email. Klasa MailMessage pozwala na tworzenie obiektu wiadomości e-mail z różnymi właściwościami i metodami, które pozwalają ustawić nadawcę, odbiorców, temat, treść, załączniki, nagłówki i inne szczegóły twojego e-maila.

Następujące kroki oraz fragment kodu pomogą ci stworzyć EML od podstaw:

  • Utwórz nowy obiekt MailMessage za pomocą domyślnego konstruktora.
  • Ustaw właściwości obiektu MailMessage zgodnie z twoimi potrzebami.
  • Zapisz obiekt MailMessage do pliku EML za pomocą metody Save.

Metoda Save klasy MailMessage przyjmuje dwa parametry: ścieżkę do pliku oraz opcje zapisu. Opcje zapisu określają format pliku wyjściowego.

Dodaj obraz do treści HTML

Aby wykonać tę funkcję, musisz osadzić obraz w treści HTML. Możesz użyć tagu “img”, aby to zrobić.

Następujący fragment kodu pokazuje, jak dodać obraz do treści HTML wiadomości.

  • Treść HTML zawiera tag obrazu z atrybutem źródłowym ustawionym na cid:image1.
  • Klasa AlternateView jest używana do uzyskania alternatywnego widoku treści wiadomości, który zawiera osadzony obraz.
  • Klasa LinkedResource jest używana do reprezentowania osadzonego obrazu, a jego identyfikator treści jest ustawiony na image1.
  • Na koniec alternatywny widok jest dodawany do kolekcji alternatywnych widoków wiadomości.

Utwórz plik EML z pliku HTML

Jednym ze sposobów jest rozpoczęcie od pliku HTML i konwersja go na EML. To może być przydatne, jeśli masz HTML, który chcesz wysłać jako wiadomość e-mail. W tym celu najpierw potrzebujemy zawartości HTML. Nazwijmy ten plik content.html. Oto jego przykład:

<!DOCTYPE html>
<html>
<head>
	<title>Moja wiadomość e-mail</title>
</head>
<body>
	<h1>Cześć,</h1>
	<img src="logo.png" alt="Logo">
	<p>To moja pierwsza wiadomość e-mail utworzona z HTML.</p>
</body>
</html>

Musisz także wcześniej przygotować wszystkie obrazy, które zawiera HTML, i określić do nich poprawną ścieżkę w pliku HTML.

Teraz możemy łatwo utworzyć MailMessage, ustawiając treść HTML z content.html.

  • Najpierw stwórz nowy obiekt HtmlLoadOptions.
  • Ustaw ciąg, który zawiera ścieżkę do obrazów w PathToResources.
  • Ustaw właściwość ShouldAddPlainTextView na true, jeśli EML powinien zawierać AlternateView z tekstem zwykłym.
  • Utwórz obiekt MailMessage ładując plik HTML i przekazując obiekt HtmlLoadOptions jako parametr.
  • Ustaw dodatkowe właściwości wiadomości.
  • Na koniec zapisz obiekt MailMessage do pliku EML za pomocą metody Save.

Wskazówki dotyczące poprawy wyświetlania wiadomości HTML w Outlooku

Aby wyświetlić swoją wiadomość HTML w Outlooku, musisz upewnić się, że jej kod jest zgodny z silnikiem renderującym Outlooka, który różni się od większości przeglądarek internetowych. Niektóre z powszechnych problemów, które mogą wpłynąć na twój e-mail HTML w Outlooku, to:

  • Outlook nie obsługuje niektórych tagów i właściwości CSS, takich jak obrazy tła, pływające elementy, marginesy, padding itp. Możesz potrzebować użyć stylów inline, tabel lub warunkowych komentarzy, aby osiągnąć pożądany układ i formatowanie.
  • Outlook może dodać dodatkowe spacje lub linie między elementami lub usunąć niektóre elementy całkowicie. Możesz potrzebować użyć spacji niełamiących, spacji o zerowej szerokości lub pustych komórek tabeli, aby temu zapobiec.
  • Outlook może zmienić kodowanie lub zestaw znaków twojego pliku HTML, co może spowodować, że niektóre znaki będą wyświetlane niepoprawnie. Możesz potrzebować określić kodowanie i zestaw znaków w nim za pomocą tagu meta.

Podsumowanie

W tym wpisie na blogu nauczyłeś się, jak programowo tworzyć wiadomości MIME w C# za pomocą Aspose.Email. Krok po kroku samouczek i próbki kodu pokazały, jak stworzyć plik EML od podstaw i z pliku HTML, dodać obraz do treści HTML wiadomości e-mail oraz wspierały wszystkie powyższe z użytecznymi wskazówkami, jak poprawić wygląd twojej wiadomości HTML w Outlooku.

  • Możesz odkryć więcej o Aspose.Email for .NET i wypróbować go za darmo.
  • Możesz również sprawdzić więcej funkcji i możliwości Aspose.Email w dokumentacji.
  • Twoje pytania są mile widziane na naszym forum.

Zobacz także