
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
- Konwersja plików EML/MSG na HTML z osobnym zapisywaniem obrazów
- Konwersja plików EML/MSG na HTML z zapisywaniem obrazów wewnątrz HTML
- Zapis HTML z nagłówkiem
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:

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

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:
- 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.
- Ładuje plik MSG lub EML używając metody MailMessage.Load.
- Tworzy obiekt HtmlSaveOptions i ustawia właściwość ResourceRenderingMode na SaveToFile.
- Definiuje delegata dla zdarzenia SaveResourceHandler obiektu HtmlSaveOptions.
- Tworzy docelowy katalog dla zasobów wewnątrz delegata, jeśli jeszcze nie istnieje.
- Zapisuje każdy zasób do pliku z nazwą pliku wewnątrz delegata, opierając się na typie zawartości zasobu.
- 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.

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:
- Określa ścieżki źródłowe i docelowe dla pliku e-mail oraz wyjścia HTML.
- Ładuje plik MSG lub EML używając metody MailMessage.Load.
- Tworzy nową instancję klasy HtmlSaveOptions, która pozwala na skonfigurowanie sposobu zapisywania wiadomości e-mail jako HTML.
- Konfiguruje instancję HtmlSaveOptions do osadzania zasobów, w tym obrazów, bezpośrednio w HTML.
- 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:

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.