HTML converteren naar andere formaten
HTML naar EML converteren
Aspose.Email for .NET biedt een methode om HTML‑bestanden naar EML‑formaat te converteren met behulp van de MailMessage.Load en MailMessage.Save methoden om respectievelijk het bestaande HTML‑bestand te laden en op te slaan in EML‑formaat:
var eml = MailMessage.Load("myContent.html", new HtmlLoadOptions());
eml.Save("output.eml", SaveOptions.DefaultEml);
In het codevoorbeeld, de HtmlLoadOptions klasse stelt u in staat extra opties op te geven bij het laden van een MailMessage vanuit HTML‑formaat. Het volgende codevoorbeeld toont het gebruik van deze klasse. In het voorbeeld wordt een tekstrepresentatie van de berichtinhoud opgegeven:
// Create an instance of HtmlLoadOptions
var loadOptions = new HtmlLoadOptions();
// Set the ShouldAddPlainTextView property to true to generate a plain text view along with HTML
loadOptions.ShouldAddPlainTextView = true;
// Load an HTML file
var mailMessage = MailMessage.Load("input.html", loadOptions);
// Access the plain text view of the email message
var plainTextView = mailMessage.GetAlternateViewContent("text/plain");
// Print or further process the plain text view
Console.WriteLine("Plain Text View:");
Console.WriteLine(plainTextView);
HTML naar EMLX converteren
U kunt HTML‑bestanden eenvoudig naar EMLX converteren. Alle eigenschappen en klassen die door de API worden geleverd voor HTML‑naar‑EML-conversie zijn ook beschikbaar voor dit type conversie:
var eml = MailMessage.Load("myContent.html", new HtmlLoadOptions());
eml.Save("output.emlx", SaveOptions.DefaultEmlx);
Voor extra instellingen, zie HTML naar EML converteren paragraaf.
HTML naar ICS converteren
Om de taak uit te voeren, biedt de bibliotheek de Appointment klasse om agenda‑evenementen te representeren en beheren. Het volgende codevoorbeeld laat zien hoe u een afspraak vanuit HTML‑inhoud maakt en deze opslaat in een ICS (iCalendar) bestandsformaat:
// Sample HTML content
var htmlContent = File.ReadAllText("content.html");
// Create and initialize an instance of the Appointment class
var appointment = new Appointment(
"Meeting Room 3 at Office Headquarters",// Location
"Monthly Meeting", // Summary
"Please confirm your availability.", // Description
new DateTime(2015, 2, 8, 13, 0, 0), // Start date
new DateTime(2015, 2, 8, 14, 0, 0), // End date
"from@domain.com", // Organizer
"attendees@domain.com")
{
HtmlDescription = htmlContent
};
// Save the event to an ICS file
appointment.Save("output.ics", AppointmentSaveFormat.Ics);
MBOX genereren vanuit HTML‑inhoud
Om een HTML‑naar‑MBOX‑conversie uit te voeren, gebruikt u de Load methode van de MailMessage klasse, waarbij het bestandspad van de HTML‑inhoud en een instantie van HtmlLoadOptions. Deze methode parseert de HTML‑inhoud en genereert een overeenkomstig MailMessage‑object, waarbij de structuur en opmaak van de originele HTML behouden blijven. Nadat de HTML‑inhoud in een MailMessage‑object is geladen, schrijft u het bericht naar een MBOX‑bestand met behulp van de MboxrdStorageWriter klasse:
using (var eml = MailMessage.Load("content.html", new HtmlLoadOptions())){
using (var writer = new MboxrdStorageWriter("output.mbox", false)){
writer.WriteMessage(eml);
}
}
HTML naar MHTML converteren
Gebruik de Load methode van de MailMessage klasse om het bestaande bestand te laden, met een opgegeven pad ernaartoe en een instantie van HtmlLoadOptions. Deze methode parseert de HTML‑inhoud en genereert een overeenkomstig MailMessage‑object, waarbij de structuur en opmaak van de originele HTML behouden blijven. Nadat de HTML‑inhoud in een MailMessage‑object is geladen, kunnen ontwikkelaars het opslaan als een MHTML‑bestand met behulp van de Opslaan methode, waarbij het gewenste uitvoerpad wordt opgegeven en gebruik wordt gemaakt van de SaveOptions.DefaultMhtml optie:
var eml = MailMessage.Load("content.html", new HtmlLoadOptions());
eml.Save("output.mhtml", SaveOptions.DefaultMhtml);
De MhtSaveOptions klasse biedt een verscheidenheid aan opties voor het configureren van het gedrag en de instellingen van het uitvoer‑MHTML‑bestand in plaats van SaveOptions.DefaultMhtml. Met zijn eigenschappen, u kunt extra opties opgeven bij het opslaan van MailMessage in MHTML‑formaat. De meest populaire daarvan zijn:
- MhtFormatOptions - Hiermee kunt u aanpassen hoe het e‑mailbericht in MHT‑formaat wordt opgeslagen, zodat het het beste bij uw behoeften past.
- SaveAttachments - Haalt op of stelt een waarde in die aangeeft of bijlagen moeten worden opgeslagen.
- SaveAllHeaders - Bepaalt of alle headers in de uitvoer-MHTML moeten worden opgeslagen of niet. Standaardwaarde is false.
- PreserveOriginalDate - Bepaalt of de originele datum in het e-mailbericht behouden moet blijven bij het opslaan of niet. Standaardwaarde is true.
Het volgende codevoorbeeld laat zien hoe deze eigenschappen kunnen worden gebruikt:
var mhtSaveOprtions = new MhtSaveOptions
{
MhtFormatOptions = MhtFormatOptions.WriteHeader,
SaveAttachments = true,
SaveAllHeaders = true,
PreserveOriginalDate = true
}
Converteer HTML naar MSG
Na het laden van de HTML‑inhoud in een MailMessage‑object, sla het op als een MSG‑bestand met behulp van de Opslaan methode, waarbij het gewenste uitvoerpad wordt opgegeven en gebruik wordt gemaakt van de SaveOptions.DefaultMsgUnicode optie. Deze optie zorgt ervoor dat het uitvoerbestand wordt opgeslagen in MSG‑formaat met Unicode‑codering.
var eml = MailMessage.Load("content.html", new HtmlLoadOptions());
eml.Save("output.msg", SaveOptions.DefaultMsgUnicode);
Daarnaast biedt Aspose.Email voor .NET een reeks geavanceerde functies en opties voor HTML‑naar‑MSG‑conversie:
Converteer HTML naar OFT
Na het laden van de HTML‑inhoud in een MailMessage‑object, sla het op als een OFT‑bestand met behulp van de Opslaan methode, waarbij het gewenste uitvoerpad wordt opgegeven en gebruik wordt gemaakt van de SaveOptions.DefaultOft optie:
var eml = MailMessage.Load("content.html", new HtmlLoadOptions());
eml.Save("template.oft", SaveOptions.DefaultOft);
Bericht met bron‑HTML‑inhoud toevoegen aan PST
HTML‑naar‑PST‑conversie omvat het maken van een nieuw PST (Personal Storage Table)-bestand met een nieuwe map, het laden van een HTML‑bestand en toevoegen aan de nieuwe map:
- Maak een instantie van een PersonalStorage‑object aan dat een nieuw PST‑bestand vertegenwoordigt met behulp van de Maak methode van de PersonalStorage klasse.
- Open de hoofdmap van het PST‑bestand en voeg een submap toe met behulp van de AddSubFolder methode van de FolderInfo klasse.
- Laad de inhoud van een HTML‑bestand in een MapiMessage object met de Load methode met een instantie van HtmlLoadOptions om aan te geven dat de inhoud in HTML‑formaat is.
- Voeg het geladen MapiMessage‑object (dat de HTML‑inhoud vertegenwoordigt) toe aan de map binnen het PST‑bestand met behulp van de AddMessage methode.
using (var pst = PersonalStorage.Create("outputFile.pst", FileFormatVersion.Unicode))
{
var inbox = pst.RootFolder.AddSubFolder("Inbox");
var msg = MapiMessage.Load("content.html", new HtmlLoadOptions());
inbox.AddMessage(msg);
}
Bericht met bron‑HTML‑inhoud toevoegen aan OST
Het volgende code‑voorbeeld met stappen toont hoe deze componenten samenwerken om HTML‑inhoud toe te voegen aan een OST‑bestand:
- Laad een bestaand OST‑bestand met de FromFile methode van de PersonalStorage klasse die wordt gebruikt om het opslagbestand te vertegenwoordigen dat de e‑mailberichten zal opslaan.
- Laad het HTML‑bestand met behulp van de Load methode van de MapiMessage klasse die een e‑mailbericht vertegenwoordigt in Microsoft Outlook‑formaat.
- Specificeer HtmlLoadOptions om extra opties in te schakelen bij het laden van MailMessage vanuit HTML‑formaat.
- Haal de hoofdmap van het OST‑bestand op met behulp van de RootFolder eigenschap van de PersonalStorage object.
- Verkrijg de Inbox‑map binnen het OST‑bestand met behulp van de GetSubFolder methode op de hoofdmap.
- Voeg het geladen MapiMessage‑object (dat de HTML‑inhoud vertegenwoordigt) toe aan de Inbox‑map met behulp van de AddMessage methode op de map.
using (var ost = PersonalStorage.FromFile("storage.ost"))
{
var msg = MapiMessage.Load("content.html", new HtmlLoadOptions());
var folderInfo = ost.RootFolder.GetSubFolder("Inbox");
folderInfo.AddMessage(msg);
}
Converteer HTML naar VCF
De volgende code‑voorbeeld toont hoe een contactitem te maken, te vullen met HTML‑inhoud, en op te slaan in een VCF‑bestand:
- Lees de inhoud van een HTML‑bestand in een string‑variabele met de methode File.ReadAllText.
- Maak een nieuw MapiContact‑object aan door de MapiContact klasse.
- Stel de contacteigenschappen in: weergavenaam, e‑mailadres.
- Stel de body-inhoud van het contact in op HTML met behulp van SetBodyContent.
- Sla het contact op als een VCF‑bestand met behulp van de Opslaan methode.
var content = File.ReadAllText("content.html");
// Create a new MapiContact
var contact = new MapiContact();
contact.NameInfo.DisplayName = "John Doe";
contact.ElectronicAddresses.Email1.EmailAddress = "john.doe@example.com";
contact.SetBodyContent(content, BodyContentType.Html);
// Save the contact to a VCF file
contact.Save("contact.vcf", ContactSaveFormat.VCard)