EML naar HTML converteren

EML naar HTML converteren

Om e‑mailinhoud in webtoepassingen te integreren, is EML‑naar‑HTML-conversie de juiste keuze, omdat het een visueel aantrekkelijke e‑mailpresentatie mogelijk maakt.

Om EML naar HTML te converteren, heeft u de volgende klassen nodig:

  • MailMessage klasse wordt gebruikt om een object te maken dat een e‑mailbericht vertegenwoordigt. Het biedt toegang tot bericht‑eigenschappen, zoals onderwerp, inhoud, afzender en adressen van ontvangers, enz. Met zijn methoden kunt u e‑mails maken, laden en parseren, wijzigen, opslaan of andere bewerkingen uitvoeren.
  • SaveOptions klasse biedt opties voor het opslaan van e‑mailberichten in verschillende formaten. Het stelt gebruikers in staat de manier waarop e‑mailberichten worden opgeslagen in diverse formaten aan te passen. Met deze klasse kunnen gebruikers opties specificeren voor het opslaan van bijlagen, headers, metadata en eigenschappen van e‑mailberichten, codering instellen of kiezen of berichten wel of niet versleuteld moeten worden opgeslagen.

In het onderstaande codevoorbeeld werken deze klassen samen om een bestaand EML‑bestand te laden en het formaat van het bericht als EML op te geven. Vervolgens slaan ze het geladen e‑mailbericht op als een HTML‑bestand met de opgegeven standaard HTML‑opslaan‑opties:

  1. Gebruik de MailMessage.Load() methode om het bestaande bestand te laden in een MailMessage‑object met vermelding van het berichtformaat.
  2. Sla het geladen MailMessage‑object op als een HTML‑bestand met behulp van de opslaan methode. Gebruik SaveOptions.DefaultHtml() om de opslagopties voor HTML‑formaat te specificeren.
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
message.Save("output.html", SaveOptions.DefaultHtml);

EML‑bronnen opslaan in een afzonderlijk bestand

Aspose.Email biedt de ResourceRenderingMode enumeratie die ontwikkelaars in staat stelt bronnen in een HTML‑bestand te manipuleren. In het onderstaande codevoorbeeld wordt deze enum gebruikt om bronnen op te slaan in een bestand en in HTML de ‘src’-tag in te voegen met het pad naar dit bestand:

  1. Laad het e‑mailbericht uit het bronbestand met behulp van de MapiMessage.Load methode.
  2. Maak een instantie van HtmlSaveOptions met gespecificeerde render‑ en bronopties.
  3. Sla het geladen e‑mailbericht op als een HTML‑bestand op de doellocatie met behulp van de Opslaan methode met de HtmlSaveOptions‑parameter.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
UseRelativePathToResources = true
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);

Bronnen insluiten in een HTML‑bestand

In sommige gevallen is het nodig om bronnen, zoals afbeeldingen, direct in het HTML‑bestand op te nemen voor naadloze distributie en presentatie. Met Aspose.Email for .NET kunt u dit eenvoudig doen met behulp van de ResourceRenderingMode enumeratie:

  1. Laad het e‑mailbericht uit het bronbestand met behulp van de MapiMessage.Load methode.
  2. Maak een nieuwe HtmlSaveOptions object en stel de eigenschap ResourceRenderingMode in op EmbedIntoHtml.
  3. Sla het geladen e‑mailbericht op als een HTML‑bestand met behulp van de Opslaan methode, met vermelding van het doelbestandspad en het doorgeven van het HtmlSaveOptions‑object als parameter om bronnen in het HTML‑bestand in te sluiten.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);

EML naar ICS converteren

Het volgende codevoorbeeld laat zien hoe u agenda‑evenementgegevens uit een EML‑bestand extraheert en opslaat in een apart ICS‑bestand voor verder gebruik of manipulatie.

// 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);
}

Aanpassing

Aspose.Email for .NET biedt hulpmiddelen om ICS (iCalendar) inhoud, geëxtraheerd uit EML (Electronic Mail) bestanden, aan te passen.

De evenementdetails aanpassen

Het volgende codevoorbeeld laat zien hoe u verschillende details van de afspraak instelt, zoals de samenvatting, locatie en beschrijving. De code maakt gebruik van de Appointment klasse die agenda‑afspraken of -evenementen vertegenwoordigt in ICS (iCalendar) formaat. De klasse biedt eigenschappen en methoden om agenda‑evenementen programmatisch te maken, te wijzigen en te beheren.

// 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");

Een terugkeerpatroon maken

Het volgende codevoorbeeld laat zien hoe u een wekelijks terugkeerpatroon voor een afspraak maakt, waarbij de afspraak elke 5 weken op zaterdag plaatsvindt. De code maakt gebruik van de Recurrence eigenschap van de Appointment klasse die het terugkeerpatroon ophaalt of instelt.

var pattern = new  WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);

appointment.Recurrence = pattern;

EML aan MBOX toevoegen

MBOX is een veelgebruikt formaat voor het opslaan van meerdere e‑mailberichten in één bestand, waardoor het geschikt is voor e‑mailarchivering en migratiedoeleinden. Gebruik de MboxrdStorageWriter klasse om e‑mailberichten naar een MBOX‑bestand te schrijven. Het volgende codevoorbeeld laat zien hoe u deze taak uitvoert:

using (var message = MailMessage.Load("inputFile.eml")){
	using (var writer = new MboxrdStorageWriter("output.mbox", false)){
			writer.WriteMessage(message);
	}
} 

EML naar MHTML converteren

Met Aspose.Email for .NET kunt u eenvoudig EML‑bestanden naar MHTML‑formaat converteren voor verschillende doeleinden, zoals archiveren, compatibiliteit, offline bekijken, enz. Laad het e‑mailbericht met de MailMessage.Load, gebruik vervolgens de MhtSaveOptions klasse als parameter voor de MailMessage.Save methode om het uitvoerbestandformaat te specificeren bij het opslaan van het bericht als een afzonderlijk bestand:

// 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);

De MhtSaveOptions klasse biedt verschillende opties om uitvoer‑MHTML‑bestanden aan te passen aan uw specifieke vereisten:

  • Originele datumopmaak behouden. U kunt ervoor kiezen de oorspronkelijke opmaak van de e‑mailberichten te behouden tijdens het conversieproces:

    saveOptions.PreserveOriginalDate = true;
    
  • Uitvoer‑codering instellen. U kunt de te gebruiken codering specificeren bij het schrijven van de uitvoer‑MHTML‑bestanden:

    saveOptions.OutputEncoding = Encoding.UTF8; 
    
  • Bijlagen opnemen. Dit kan handig zijn als u bijlagen wilt behouden bij het converteren van e‑mails naar MHTML‑formaat:

    saveOptions.SaveAttachments = true;
    

EML naar MSG converteren

Of u nu e‑mailgegevens moet migreren, berichten wilt archiveren of integreren met Microsoft Outlook, Aspose.Email biedt oplossingen om uw doelen te bereiken. MSG‑bestanden worden veel gebruikt door Microsoft Outlook. Voor EML‑naar‑MSG-conversie, gebruik de MailMessage.Load methode om het bestaande EML‑bestand te laden met vermelding hoe het geladen wordt met EmlLoadOptions.

Het volgende codevoorbeeld laat zien hoe u EML‑bestanden naar MSG‑formaat converteert:

// Load mail message
using (var message = MailMessage.Load("sourceFile.eml", new EmlLoadOptions())){
// Save as MSG
var msgSaveOptions = new MsgSaveOptions;
message.Save("output.msg", MsgSaveOptions);
} 

EML naar OFT converteren

Om EML‑bestanden naar Outlook Template (OFT) formaat te converteren, laad het bestaande e‑mailbericht met de MailMessage.Load methode en sla het op met MailMessage.Save met vermelding van de standaardopties voor het opslaan van een bericht naar OFT‑formaat:

// 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);

EML aan PST toevoegen

Om EML‑bestanden naar Personal Storage Table (PST) formaat te converteren, laad het bericht met de MapiMessage.Load methode, creëer het uitvoerbestand met de PersonalStorage.Create en voeg de e‑mail toe aan de aangemaakte Inbox‑map in het opslagbestand met behulp van de 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);
  }
}

EML aan OST toevoegen

Ontwikkelaars kunnen eenvoudig EML‑bestanden naar Outlook Offline Storage Table (OST) formaat converteren, waardoor integratie met Microsoft Outlook mogelijk is. Het volgende codevoorbeeld laat zien hoe u een EML‑bericht aan een OST‑bestand toevoegt:

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);
}

De EmlLoadOptions parameter specificeert extra opties voor het laden van EML‑bestanden, zoals het behouden van ingesloten berichtformaten, het verwijderen van handtekeningen, en meer.

EML naar VCF converteren

Aspose.Email for .NET biedt functionaliteit om EML‑bestanden naar vCard (VCF) formaat te converteren, waardoor ontwikkelaars contactinformatie uit e‑mailberichten kunnen extraheren. Hiervoor biedt de bibliotheek de GetAlternateViewContent methode van de MailMessage klasse die ontwikkelaars in staat stelt alternatieve weergaven binnen e‑mailberichten te benaderen en VCF‑inhoud die in EML‑bestanden is ingesloten te extraheren voor verder gebruik:

// 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);
}