Outlook-bestanden maken en opslaan
Aspose.Email ondersteunt het maken van Outlook‑bericht (MSG)‑bestanden. Dit artikel legt uit hoe je:
- Outlook‑berichten maken en opslaan
- MSG‑bestanden maken met bijlagen
- MSG‑bestanden maken met RTF‑inhoud
- Bericht opslaan in conceptstatus
Maak en sla Outlook‑berichten op
De MailMessage klasse heeft de Save() methode die Outlook‑MSG‑bestanden naar schijf of stream kan opslaan. De onderstaande codefragmenten maken een exemplaar van de MailMessage klasse, stel eigenschappen in zoals from, to, subject en body. De Save() methode neemt de bestandsnaam als argument. Bovendien kunnen Outlook‑berichten worden aangemaakt met een gecomprimeerde RTF‑body met behulp van de MapiConversionOptions.
- Maak een nieuw exemplaar van de MailMessage klasse accepteert en stelt de From-, To-, Subject- en Body‑eigenschappen in.
- Roep de MapiMessage klasse FromMailMessage methode die het object van de MailMessage type. De FromMailMessage methode converteert de MailMessage naar een MapiMessage (MSG).
- Roep de MapiMessage.Save() methode om het MSG‑bestand op te slaan.
Plaats de volgende code in de klik‑event van de knopbesturing van de Windows‑applicatie.
MSG‑bestanden maken met bijlagen
In het bovenstaande voorbeeld, hebben we een eenvoudig MSG‑bestand gemaakt. Aspose.Email ondersteunt ook het opslaan van berichtbestanden met bijlagen. Het enige wat je hoeft te doen is de bijlagen toevoegen aan de MailMessage instantie. Voeg bijlagen toe door de Add()‑methode aan te roepen op de MailMessage.Attachments collectie. Voeg een listbox toe aan het hierboven gemaakte formulier en voeg twee knoppen toe, één voor het toevoegen en één voor het verwijderen van bijlagen. De applicatie die applicaties toevoegt werkt als volgt:
- Wanneer de Add Attachment‑knop wordt geklikt, wordt een Open File Dialog weergegeven om gebruikers te helpen de bijlage te bladeren en te selecteren.
- Wanneer een bestand is geselecteerd, wordt het volledige pad aan een lijst toegevoegd.
- Wanneer het MSG‑bestand wordt aangemaakt, worden de bijlage‑paden opgehaald uit de lijst en toegevoegd aan de MailMessage.Attachments collectie.
Schrijf de volgende code in het Add Attachment-knop‑klik‑event.
Wanneer de Remove Attachment‑knop wordt geklikt, verwijder dan de geselecteerde items uit de listbox. Schrijf de volgende code in het Remove Attachment‑knop‑klik‑event.
Voeg de code toe voor het toevoegen van de bijlagen aan de MailMessage instantie. De uiteindelijke code voor de Write Msg‑functie wordt als volgt geschreven.
Maak MSG‑bestanden met RTF‑inhoud
Je kunt ook Outlook‑bericht (MSG)‑bestanden met rich‑text (RTF)‑bodies maken met Aspose.Email. De RTF‑body ondersteunt tekstopmaak. Maak er één door de MailMessage.HtmlBody eigenschap. Wanneer je een MailMessage instantie in een MapiMessage bij een instantie wordt de HTML‑body geconverteerd naar RTF. Op deze manier blijft de opmaak van de e‑mailbody behouden.
Het volgende voorbeeld maakt een MSG‑bestand met een RTF‑body. Er is één kop, vet en onderstreept opmaak toegepast in de HTML‑body. Deze opmaak wordt behouden wanneer de HTML wordt omgezet naar RTF.
RTF-compressie voor MAPI‑berichtinhoud
OPMERKING: Het compressieproces kan de prestaties vertragen bij het maken van berichten. Door dit feit te begrijpen en de compressievlag in te stellen op basis van specifieke vereisten en een compromis tussen bestandsgrootte en prestaties, kunnen ontwikkelaars effectief het aanmaken van MSG‑ en PST‑bestanden beheren bij het verwerken van e‑mailberichten.
RTF-compressie is bedoeld om de grootte van een bericht te verkleinen evenals de resulterende PST‑bestanden (Personal Storage Table) die Microsoft Outlook gebruikt om e‑mailberichten en andere gegevens op te slaan. Door RTF-compressie te gebruiken bij het configureren van de berichtinhoud, kunnen ontwikkelaars de hoeveelheid geheugen die nodig is om e‑mailberichten op te slaan verminderen of de netwerkbandbreedte optimaliseren bij het verzenden van berichten.
Voor dit doel zijn twee overladen methoden ontworpen:
-
MapiMessageItemBase.SetBodyContent(string content, BodyContentType contentType, bool compression): Deze methode laat u de berichtbodyinhoud instellen met behulp van de opgegeven string‑content en specificeert het body‑contentType (bijvoorbeeld platte tekst, HTML, enz.). De optionele parameter compression is een waarde die aangeeft of de inhoud moet worden gecomprimeerd met RTF‑compressie. Als de compressie‑parameter true is, wordt de inhoud gecomprimeerd, wat resulteert in een kleinere berichtgrootte.
-
MapiMessageItemBase.SetBodyRtf(string content, bool compression): Deze methode stelt specifiek de inhoud van de berichtbody in RTF‑formaat in. De parameter content is een string die de RTF‑inhoud representeert die als berichtbody zal worden ingesteld. Zoals in de vorige methode bepaalt de parameter compression of RTF‑compressie op de inhoud moet worden toegepast. Als compression true is, wordt de RTF‑inhoud gecomprimeerd om de grootte te verkleinen.
Het volgende codevoorbeeld toont hoe u de html‑body instelt en deze gecomprimeerd houdt:
var msg = new MapiMessage("from@doamin.com", "to@domain.com", "subject", "body");
// set the html body and keep it compressed
// this will reduce the message size
msg.SetBodyContent(htmlBody, BodyContentType.Html, true);
Er is ook een MapiConversionOptions.UseBodyCompression eigenschap. Wanneer deze eigenschap is ingeschakeld, wordt RTF‑body‑compressie toegepast tijdens de conversie van MailMessage naar MapiMessage, wat resulteert in een kleinere MSG‑bestandsgrootte. Dit wordt getoond in het onderstaande codevoorbeeld:
var message = MailMessage.Load(fileName);
var options = new MapiConversionOptions();
options.UseBodyCompression = true;
var msg = MapiMessage.FromMailMessage(message, options);
Bericht opslaan in conceptstatus
E‑mailberichten worden opgeslagen als concepten wanneer iemand is begonnen ze te bewerken maar later wil terugkeren om ze af te ronden. Aspose.Email ondersteunt het opslaan van e‑mailberichten in conceptstatus door een berichtvlag in te stellen. Hieronder staat de voorbeeldcode om een Outlook‑e‑mailbericht (MSG) als concept op te slaan.