Konwersja e-maila na HTML w C# .NET

HTML jest szeroko stosowanym i łatwo dostępnym formatem, który może być przeglądany przez szeroki zakres platform, przeglądarek internetowych, w tym komputery stacjonarne i urządzenia mobilne. W przeciwieństwie do tego, pliki EML i MSG mogą wymagać określonego oprogramowania lub klientów pocztowych do wyświetlenia, co z czasem może sprawić, że będą trudniejsze do uzyskania i przeglądania. Dlatego konwersja plików MSG lub EML na HTML ułatwia ich przeglądanie, szczególnie dla odbiorców, którzy mogą nie mieć kompatybilnych klientów pocztowych lub oprogramowania.

Dodatkowo, pliki HTML są łatwiejsze do archiwizacji i pozostają w formacie przeszukiwanym i indeksowanym.

Ten artykuł przedstawia algorytm szybkiej i łatwej konwersji plików MSG lub EML na format HTML przy użyciu C#, niezależnie od podstawowego celu. Nasza niezawodna metoda gwarantuje, że treść wiadomości e-mail, w tym osadzone obrazy, jest w pełni zachowana bez żadnych strat. Zapewnia to, że integralność wiadomości e-mail jest utrzymywana podczas całego procesu konwersji.

Artykuł obejmuje następujące tematy:

C# API do konwersji plików EML/MSG na HTML

Do konwersji plików EML/MSG na HTML użyjemy Aspose.Email dla .NET. Jest to API do przetwarzania e-maili, które pozwala na manipulację wiadomościami e-mail i pracę z formatami plików popularnych klientów pocztowych, takich jak Thunderbird, Outlook itp. Możesz pobrać plik DLL API lub zainstalować go z NuGet używając następującego polecenia:

PM> Install-Package Aspose.Email

Konwersja plików EML/MSG na HTML z osobnym zapisywaniem obrazów

Typowy plik MSG wygląda następująco:

Wygląd pliku MSG

Z naszym API możesz ustawić dowolny katalog na swoim urządzeniu i zapisać docelowy plik HTML z obrazami w osobnym folderze:

Wygląd pliku HTML

Użyj następującego przykładu kodu, aby przekonwertować wiadomość e-mail w formacie MSG lub EML na plik HTML z obrazami zapisywanymi w docelowym katalogu. Kod wykonuje następujące kroki:

  1. Najpierw określa ścieżki źródłowe i docelowe dla źródłowego pliku MSG/EML oraz pliku HTML, a także docelowy katalog dla zasobów.
  2. Ładuje plik MSG lub EML używając metody MailMessage.Load.
  3. Tworzy obiekt HtmlSaveOptions i ustawia właściwość ResourceRenderingMode na SaveToFile.
  4. Definiuje delegata dla zdarzenia SaveResourceHandler obiektu HtmlSaveOptions.
  5. Tworzy docelowy katalog dla zasobów wewnątrz delegata, jeśli jeszcze nie istnieje.
  6. Zapisuje każdy zasób do pliku z nazwą pliku wewnątrz delegata, opierając się na typie zawartości zasobu.
  7. Wywołuje metodę Save instancji MailMessage, przekazując nazwę docelowego pliku HTML i instancję HtmlSaveOptions, aby zapisać wiadomość e-mail w formacie HTML.

Konwersja plików EML/MSG na HTML z zapisywaniem obrazów wewnątrz HTML

Czasami możesz preferować konwersję plików EML/MSG na HTML, zachowując osadzone obrazy wewnątrz HTML.

Obraz wewnątrz HTML w edytorze tekstu

Poniższy fragment kodu pokazuje, jak przekonwertować plik MSG lub EML na format HTML w C# i zapisać obrazy wewnątrz HTML. Kod wykonuje następujące kroki:

  1. Określa ścieżki źródłowe i docelowe dla pliku e-mail oraz wyjścia HTML.
  2. Ładuje plik MSG lub EML używając metody MailMessage.Load.
  3. Tworzy nową instancję klasy HtmlSaveOptions, która pozwala na skonfigurowanie sposobu zapisywania wiadomości e-mail jako HTML.
  4. Konfiguruje instancję HtmlSaveOptions do osadzania zasobów, w tym obrazów, bezpośrednio w HTML.
  5. Wywołuje metodę Save instancji MailMessage, przekazując nazwę docelowego pliku HTML i instancję HtmlSaveOptions, aby zapisać wiadomość e-mail w formacie HTML.

Zapis HTML z nagłówkiem

Jako opcjonalną wariant możesz zapisać HTML z nagłówkiem. Poniższy fragment kodu pokazuje, jak zapisać HTML z nagłówkiem w C#:

W rezultacie tekstowy nagłówek zostanie dodany do docelowego HTML:

Nagłówek tekstowy

Podsumowanie

Podsumowując, z tego artykułu dowiedziałeś się o wygodzie formatu HTML do archiwizacji i zarządzania swoimi plikami oraz jak wykonać konwersję z EML lub MSG w C# przy użyciu biblioteki Aspose.Email dla .NET. Możesz zobaczyć, jak szybki i łatwy jest proces konwersji, wystarczy kilka linii kodu. W przypadku jakichkolwiek pytań, nie wahaj się napisać na nasze bezpłatne forum wsparcia. Możesz również dowiedzieć się więcej o Aspose.Email dla .NET, jego funkcjach i możliwościach z naszej dokumentacji.

Zobacz także