Převést EML na HTML
Převést EML na HTML
Pro integraci e‑mailového obsahu do webových aplikací je konverze EML na HTML správnou volbou, která usnadňuje vizuálně atraktivní prezentaci e‑mailů.
Pro konverzi EML na HTML budete potřebovat následující třídy:
- MailMessage třída se používá k vytvoření objektu představujícího e‑mailovou zprávu. Umožňuje přístup k vlastnostem zprávy, jako jsou předmět, tělo, odesílatel a adresy příjemců atd. Pomocí jejích metod můžete vytvářet, načítat a parsovat, upravovat, ukládat e‑maily nebo s nimi provádět další operace.
- SaveOptions třída poskytuje možnosti pro ukládání e‑mailových zpráv v různých formátech. Umožňuje uživatelům přizpůsobit způsob ukládání e‑mailových zpráv v různých formátech. S touto třídou mohou uživatelé specifikovat možnosti pro ukládání příloh, hlaviček, metadat a vlastností e‑mailových zpráv, nastavit možnosti kódování nebo zvolit, zda budou zprávy ukládány s šifrováním či nikoli.
V níže uvedeném příkladu kódu tyto třídy spolupracují k načtení existujícího souboru EML a specifikaci formátu zprávy jako EML. Následně uloží načtenou e‑mailovou zprávu jako HTML soubor pomocí určených výchozích možností ukládání HTML:
- Použijte MailMessage.Load() metodu k načtení existujícího souboru do objektu MailMessage s určením formátu zprávy.
- Uložte načtený objekt MailMessage jako HTML soubor pomocí uložit metoda. Použijte SaveOptions.DefaultHtml() pro specifikaci možností ukládání pro formát HTML.
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
message.Save("output.html", SaveOptions.DefaultHtml);
Uložit EML zdroje do samostatného souboru
Aspose.Email poskytuje ResourceRenderingMode enumerace umožňující vývojářům manipulovat se zdroji v HTML souboru. V níže uvedeném příkladu kódu je tento enum použit k uložení zdrojů do souboru a vložení do HTML tagu ‘src’ s cestou k tomuto souboru:
- Načtěte e‑mailovou zprávu ze zdrojového souboru pomocí MapiMessage.Load metoda.
- Vytvořte instanci HtmlSaveOptions s určenými možnostmi vykreslování a zdrojů.
- Uložte načtenou e‑mailovou zprávu jako HTML soubor do cílové lokace pomocí Uložit metody s parametrem HtmlSaveOptions.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
UseRelativePathToResources = true
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Vložit zdroje do HTML souboru
V některých případech je nutné vložit zdroje, jako jsou obrázky, přímo do HTML souboru pro bezproblémové šíření a prezentaci. S Aspose.Email pro .NET to můžete snadno provést pomocí ResourceRenderingMode enumerace:
- Načtěte e‑mailovou zprávu ze zdrojového souboru pomocí MapiMessage.Load metoda.
- Vytvořit nový HtmlSaveOptions objektu a nastavte vlastnost ResourceRenderingMode na EmbedIntoHtml.
- Uložte načtenou e‑mailovou zprávu jako HTML soubor pomocí Uložit metoda, která specifikuje cílovou cestu souboru a předává objekt HtmlSaveOptions jako parametr pro vložení zdrojů do HTML souboru.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Převést EML na ICS
Následující příklad kódu ukazuje, jak extrahovat data kalendářní události ze souboru EML a uložit je do samostatného souboru ICS pro další použití nebo manipulaci.
// 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);
}
Přizpůsobení
Aspose.Email pro .NET poskytuje nástroje pro přizpůsobení obsahu ICS (iCalendar) extrahovaného ze souborů EML (elektronická pošta).
Přizpůsobit podrobnosti události
Následující příklad kódu ukazuje, jak nastavit různé podrobnosti schůzky, jako je souhrn, místo a popis. Kód využívá Appointment třída, která představuje kalendářní schůzky nebo události ve formátu ICS (iCalendar). Třída poskytuje vlastnosti a metody pro programové vytváření, úpravu a správu kalendářních událostí.
// 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");
Vytvořit vzor opakování
Následující příklad kódu ukazuje, jak vytvořit týdenní vzor opakování pro schůzku, kde se schůzka koná každých 5 týdnů v sobotu. Kód využívá Recurrence vlastnost třídy Appointment třída, která získává nebo nastavuje vzor opakování.
var pattern = new WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);
appointment.Recurrence = pattern;
Přidat EML do MBOX
MBOX je běžně používaný formát pro ukládání více e‑mailových zpráv do jediného souboru, což jej činí vhodným pro archivaci a migraci e‑mailů. Použijte MboxrdStorageWriter třída pro zápis e‑mailových zpráv do souboru MBOX. Následující příklad kódu ukazuje, jak tento úkol provést:
using (var message = MailMessage.Load("inputFile.eml")){
using (var writer = new MboxrdStorageWriter("output.mbox", false)){
writer.WriteMessage(message);
}
}
Převést EML na MHTML
S Aspose.Email pro .NET můžete snadno převést soubory EML do formátu MHTML pro různé účely, jako je archivace, kompatibilita, offline prohlížení atd. Načtěte e‑mailovou zprávu pomocí MailMessage.Load, pak použijte MhtSaveOptions třídu jako parametr k MailMessage.Save metoda pro určení formátu výstupního souboru při ukládání zprávy jako samostatného souboru:
// 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);
The MhtSaveOptions třída poskytuje různé možnosti pro přizpůsobení výstupních souborů MHTML tak, aby vyhovovaly vašim konkrétním požadavkům:
-
Zachovat původní formátování data. Můžete zvolit zachování původního formátování e‑mailových zpráv během konverzního procesu:
saveOptions.PreserveOriginalDate = true; -
Nastavit kódování výstupu. Můžete specifikovat kódování, které bude použito při zápisu výstupních souborů MHTML:
saveOptions.OutputEncoding = Encoding.UTF8; -
Zahrnout přílohy. To může být užitečné, pokud chcete zachovat přílohy při konverzi e‑mailů do formátu MHTML:
saveOptions.SaveAttachments = true;
Převést EML na MSG
Ať už potřebujete migrovat e‑mailová data, archivovat zprávy nebo integrovat s Microsoft Outlook, Aspose.Email poskytuje řešení k dosažení vašich cílů. Soubory MSG jsou široce používány Microsoft Outlook. Pro konverzi EML na MSG použijte MailMessage.Load metoda pro načtení existujícího souboru EML, která určuje, jak bude načten s EmlLoadOptions.
Následující příklad kódu ukazuje, jak převést soubory EML do formátu 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);
}
Převést EML na OFT
Pro konverzi souborů EML do formátu Outlook Template (OFT) načtěte existující e‑mailovou zprávu pomocí MailMessage.Load metody a uložit ji s MailMessage.Save specifikující výchozí možnosti pro uložení zprávy do formátu 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);
Přidat EML do PST
Pro konverzi souborů EML do formátu Personal Storage Table (PST) načtěte zprávu pomocí MapiMessage.Load metody, vytvořit výstupní soubor s PersonalStorage.Create a přidat e‑mail do vytvořené složky Inbox ve skladovacím souboru pomocí 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);
}
}
Přidat EML do OST
Vývojáři mohou snadno převést soubory EML do formátu Outlook Offline Storage Table (OST), což umožňuje integraci s Microsoft Outlook. Následující příklad kódu ukazuje, jak přidat zprávu EML do souboru 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);
}
The EmlLoadOptions parametr určuje další možnosti pro načítání souborů EML, například zachování vložených formátů zpráv, odstranění podpisů a další.
Převést EML na VCF
Aspose.Email pro .NET nabízí funkci pro konverzi souborů EML do formátu vCard (VCF), která vývojářům umožňuje extrahovat kontaktní informace z e‑mailových zpráv. Pro tento účel knihovna poskytuje GetAlternateViewContent metoda třídy MailMessage třída umožňující vývojářům přístup k alternativním pohledům v e‑mailových zprávách a extrakci VCF obsahu vloženého v souborech EML pro další použití:
// 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);
}