Convert EML to HTML
Convert EML to HTML
Aby zintegrować treść e‑maili z aplikacjami webowymi, konwersja EML do HTML jest właściwym wyborem, ułatwiając atrakcyjną wizualnie prezentację e‑maili.
Aby przekonwertować EML do HTML, potrzebne będą następujące klasy:
- MailMessage klasa służy do tworzenia obiektu reprezentującego wiadomość e‑mail. Umożliwia dostęp do właściwości wiadomości, takich jak temat, treść, nadawca i adresy odbiorców itp. Dzięki jej metodom możesz tworzyć, wczytywać i parsować, modyfikować, zapisywać e‑maile lub wykonywać inne operacje na nich.
- SaveOptions klasa udostępnia opcje zapisu wiadomości e‑mail w różnych formatach. Umożliwia użytkownikom dostosowanie sposobu zapisywania wiadomości e‑mail w różnych formatach. Dzięki tej klasie użytkownicy mogą określać opcje zapisu załączników, nagłówków, metadanych i właściwości wiadomości e‑mail, ustawiać opcje kodowania lub wybierać, czy zapisywać wiadomości z szyfrowaniem, czy bez.
W poniższym przykładzie kodu te klasy współpracują, aby wczytać istniejący plik EML i określić format wiadomości jako EML. Następnie zapisują wczytaną wiadomość e‑mail jako plik HTML używając określonych domyślnych opcji zapisu HTML:
- Użyj MailMessage.Load() metody do wczytania istniejącego pliku do obiektu MailMessage określając format wiadomości.
- Zapisz wczytany obiekt MailMessage jako plik HTML używając zapis metoda. Użyj SaveOptions.DefaultHtml() do określenia opcji zapisu dla formatu HTML.
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
message.Save("output.html", SaveOptions.DefaultHtml);
Save EML Resources in a Separate File
Aspose.Email udostępnia ResourceRenderingMode enumeracja umożliwiająca programistom manipulację zasobami w pliku HTML. W poniższym przykładzie kodu, ta enum jest używana do zapisu zasobów do pliku i wstawienia w HTML znacznika ‘src’ ze ścieżką do tego pliku:
- Wczytaj wiadomość e‑mail ze źródłowego pliku przy użyciu MapiMessage.Load metoda.
- Utwórz instancję HtmlSaveOptions z określonymi opcjami renderowania i zasobów.
- Zapisz wczytaną wiadomość e‑mail jako plik HTML w docelowej lokalizacji przy użyciu Zapisz metody z parametrem HtmlSaveOptions.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
UseRelativePathToResources = true
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Embed Resources to an HTML File
W niektórych przypadkach konieczne jest osadzenie zasobów, takich jak obrazy, bezpośrednio w pliku HTML w celu płynnej dystrybucji i prezentacji. Z Aspose.Email dla .NET możesz łatwo to osiągnąć przy użyciu ResourceRenderingMode enumeracji:
- Wczytaj wiadomość e‑mail ze źródłowego pliku przy użyciu MapiMessage.Load metoda.
- Utwórz nowy HtmlSaveOptions obiektu i ustaw właściwość ResourceRenderingMode na EmbedIntoHtml.
- Zapisz wczytaną wiadomość e‑mail jako plik HTML używając Zapisz metoda, określająca ścieżkę docelowego pliku i przekazująca obiekt HtmlSaveOptions jako parametr w celu osadzenia zasobów w pliku HTML.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Convert EML to ICS
Poniższy przykład kodu demonstruje, jak wyodrębnić dane wydarzenia kalendarza z pliku EML i zapisać je w osobnym pliku ICS do dalszego wykorzystania lub manipulacji.
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, save it to a file
if (icsView != null)
{
File.WriteAllText("appointment.ics", icsView);
}
Dostosowanie
Aspose.Email dla .NET udostępnia narzędzia do dostosowywania treści ICS (iCalendar) wyodrębnianych z plików EML (Electronic Mail).
Customize the event details
Poniższy przykład kodu demonstruje, jak ustawić różne szczegóły spotkania, takie jak podsumowanie, lokalizacja i opis. Kod wykorzystuje Appointment klasa, która reprezentuje spotkania lub wydarzenia kalendarza w formacie ICS (iCalendar). Klasa udostępnia właściwości i metody do programowego tworzenia, modyfikacji i zarządzania wydarzeniami kalendarza.
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, load it to Appointment class object
var appointment = Appointment.Load(new MemoryStream(Encoding.UTF8.GetBytes(icsView)));
// Customize the event details
appointment.Summary = "Customized Event Summary";
appointment.Location = "Customized Location";
appointment.Description = "Customized Event Description";
// Add or modify attendees as needed
appointment.Attendees.Clear();
appointment.Attendees.Add("custom@example.com");
// Save the customized ICS content to a file
appointment.Save("customized_appointment.ics");
Create a recurrence pattern
Poniższy przykład kodu demonstruje, jak stworzyć tygodniowy wzorzec powtarzalności spotkania, które odbywa się co 5 tygodni w soboty. Kod wykorzystuje Recurrence właściwość Appointment klasa, która pobiera lub ustawia wzorzec powtarzalności.
var pattern = new WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);
appointment.Recurrence = pattern;
Add EML to MBOX
MBOX jest powszechnie używanym formatem do przechowywania wielu wiadomości e‑mail w jednym pliku, co czyni go odpowiednim do archiwizacji i migracji e‑mail. Użyj MboxrdStorageWriter klasa do zapisywania wiadomości e‑mail do pliku MBOX. Poniższy przykład kodu demonstruje, jak wykonać to zadanie:
using (var message = MailMessage.Load("inputFile.eml")){
using (var writer = new MboxrdStorageWriter("output.mbox", false)){
writer.WriteMessage(message);
}
}
Convert EML to MHTML
Z Aspose.Email dla .NET możesz łatwo konwertować pliki EML do formatu MHTML w różnych celach, takich jak archiwizacja, kompatybilność, przeglądanie offline itp. Wczytaj wiadomość e‑mail przy użyciu MailMessage.Load, następnie użyj MhtSaveOptions klasę jako parametr do MailMessage.Save metoda określająca format pliku wyjściowego przy zapisie wiadomości jako osobny plik:
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
var mhtSaveOptions = new MhtSaveOptions;
message.Save("output.mhtml", mhtSaveOptions);
Ten MhtSaveOptions klasa udostępnia różne opcje dostosowywania wyjściowych plików MHTML, aby spełniały Twoje konkretne wymagania:
-
Zachowaj oryginalne formatowanie daty. Możesz wybrać zachowanie oryginalnego formatowania wiadomości e‑mail podczas procesu konwersji:
saveOptions.PreserveOriginalDate = true; -
Ustaw kodowanie wyjściowe. Możesz określić kodowanie używane przy zapisie plików MHTML:
saveOptions.OutputEncoding = Encoding.UTF8; -
Dołącz załączniki. Może to być przydatne, jeśli chcesz zachować załączniki przy konwersji e‑maili do formatu MHTML:
saveOptions.SaveAttachments = true;
Convert EML to MSG
Niezależnie od tego, czy potrzebujesz migrować dane e‑mail, archiwizować wiadomości, czy integrować się z Microsoft Outlook, Aspose.Email dostarcza rozwiązania umożliwiające realizację tych celów. Pliki MSG są szeroko używane przez Microsoft Outlook. Do konwersji EML do MSG użyj MailMessage.Load metoda do wczytania istniejącego pliku EML, określając sposób jego wczytania przy użyciu EmlLoadOptions.
Poniższy przykład kodu demonstruje, jak przekonwertować pliki EML do formatu MSG:
// Load mail message
using (var message = MailMessage.Load("sourceFile.eml", new EmlLoadOptions())){
// Save as MSG
var msgSaveOptions = new MsgSaveOptions;
message.Save("output.msg", MsgSaveOptions);
}
Convert EML to OFT
Aby przekonwertować pliki EML do formatu Outlook Template (OFT), wczytaj istniejącą wiadomość e‑mail przy użyciu MailMessage.Load metody i zapisz ją z MailMessage.Save określając domyślne opcje zapisu wiadomości w formacie OFT:
// load the EML file to be converted
var message = MailMessage.Load("My File.eml");
// save EML as a OFT
message.Save("Saved File.oft", SaveOptions.DefaultOft);
Add EML to PST
Aby przekonwertować pliki EML do formatu Personal Storage Table (PST), wczytaj wiadomość przy użyciu MapiMessage.Load metody, utwórz plik wyjściowy z PersonalStorage.Create i dodać e‑mail do utworzonego folderu Skrzynka odbiorcza w pliku przechowywania przy użyciu AddMessage:
using (var msg = MapiMessage.Load("sourceFile.eml", new EmlLoadOptions()))
{
using (var personalStorage = PersonalStorage.Create("outputFile.pst", FileFormatVersion.Unicode))
{
var inbox = personalStorage.RootFolder.AddSubFolder("Inbox");
inbox.AddMessage(msg);
}
}
Add EML to OST
Programiści mogą łatwo konwertować pliki EML do formatu Outlook Offline Storage Table (OST), umożliwiając integrację z Microsoft Outlook. Poniższy przykład kodu demonstruje, jak dodać wiadomość EML do pliku OST:
using (var ost = PersonalStorage.FromFile("storage.ost"))
{
// Load the EML file
var msg = MapiMessage.Load("message.eml", new EmlLoadOptions());
// Add the EML message to the OST file
var folderInfo = ost.RootFolder.GetSubFolder("Inbox");
folderInfo.AddMessage(msg);
}
Ten EmlLoadOptions parametr określa dodatkowe opcje wczytywania plików EML, takie jak zachowanie osadzonych formatów wiadomości, usuwanie sygnatur i inne.
Convert EML to VCF
Aspose.Email dla .NET oferuje funkcjonalność konwersji plików EML do formatu vCard (VCF), umożliwiając programistom wyodrębnianie informacji kontaktowych z wiadomości e-mail. W tym celu biblioteka udostępnia GetAlternateViewContent metoda MailMessage klasa umożliwiająca programistom dostęp do alternatywnych widoków w wiadomościach e-mail oraz wyodrębnianie treści VCF osadzonej w plikach EML do dalszego wykorzystania:
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/vcard" (VCF)
var vcfView = eml.GetAlternateViewContent("text/vcard");
// If an VCF view is found, save it to a file
if (vcfView != null)
{
File.WriteAllText("contact.vcf", vcfView);
}