Vytváření a ukládání souborů Outlooku
Všimněte si, že ve stavu konceptu Outlook nezobrazuje žádné informace o odesílateli přiřazené k MapiMessage. Pokud potřebujeme zobrazit informace o odesílateli, měli bychom nastavit příznak MSGFLAG_READ.
- Vytvářet a ukládat Outlook zprávy
- Vytvořit MSG soubory s přílohami
- Vytvořit MSG soubory s RTF tělem
- Uložit zprávu ve stavu konceptu
Vytvořit a uložit zprávy Outlook
The MailMessage Vytváření a ukládání Outlook zpráv Save() třídy má MailMessage třídou, nastavit vlastnosti jako od, komu, předmět a tělo. Metoda, která umožňuje uložit Outlook MSG soubory na disk nebo stream. Níže uvedené úryvky kódu vytvářejí instanci Save() metoda přijímá název souboru jako argument. Navíc lze Outlook zprávy vytvořit s komprimované RTF tělo pomocí MapiConversionOptions.
- Vytvořte novou instanci MailMessage třídy a nastaví vlastnosti From, To, Subject a Body.
- Zavolejte MapiMessage třída FromMailMessage metoda, která přijímá objekt MailMessage typ. Metoda, která přijímá objekt třídy FromMailMessage metoda konvertuje MailMessage do MapiMessage (MSG).
- Zavolejte MapiMessage.Save() metoda k uložení MSG souboru.
Umístěte následující kód do události kliknutí tlačítka ovládacího prvku ve Windows aplikaci.
Vytvořit MSG soubory s přílohami
V příkladu výše, vytvořili jsme jednoduchý MSG soubor. Aspose.Email také podporuje ukládání souborů zpráv s přílohami. Vše, co musíte udělat, je přidat přílohy do MailMessage instance. Přidejte přílohy zavoláním metody Add() na MailMessage.Attachments kolekce. Přidejte ListBox do výše vytvořeného formuláře a přidejte dvě tlačítka, jedno pro přidání a jedno pro odebrání příloh. Aplikace, která přidává aplikace, funguje takto:
- Po kliknutí na tlačítko Add Attachment se zobrazí Open File Dialog, který uživatelům pomůže procházet a vybrat přílohu.
- Po výběru souboru se jeho úplná cesta přidá do seznamu.
- Když je MSG soubor vytvořen, cesty k přílohám jsou získány ze seznamu a přidány do MailMessage.Attachments kolekce.
Zapište následující kód do události kliknutí tlačítka Add Attachment.
Když je kliknuto na tlačítko Remove Attachment, odeberte vybrané položky ze seznamu. Vložte následující kód do události kliknutí tlačítka Remove Attachment.
Přidejte kód pro přidání příloh do MailMessage instance. Konečný kód pro funkci Write Msg je napsán níže.
Vytvořit soubory MSG s tělem RTF
Můžete také vytvářet soubory Outlook Message (MSG) s těly bohatého textu (RTF) pomocí Aspose.Email. Tělo RTF podporuje formátování textu. Vytvořte ho nastavením MailMessage.HtmlBody vlastnosti. Když konvertujete MailMessage instance do MapiMessage instance, HTML tělo je konvertováno do RTF. Tím je zachováno formátování těla e‑mailu.
Následující příklad vytvoří MSG soubor s RTF tělem. V HTML těle je jeden nadpis, tučné a podtržené formátování. Toto formátování zůstane zachováno při konverzi HTML do RTF.
Komprese RTF pro tělo zprávy MAPI
POZNÁMKA: Proces komprese může zpomalit výkon při vytváření zpráv. Pochopením tohoto faktu a nastavením příznaku komprese podle konkrétních požadavků a kompromisu mezi velikostí souboru a výkonem mohou vývojáři efektivně spravovat vytváření souborů MSG a PST při práci s e‑mailovými zprávami.
Komprese RTF je určena ke snížení velikosti zprávy i výsledných souborů PST (Personal Storage Table), které Microsoft Outlook používá k ukládání e‑mailových zpráv a dalších dat. Použitím komprese RTF při konfiguraci těla zprávy mohou vývojáři snížit množství paměti potřebné k uložení e‑mailových zpráv nebo optimalizovat šířku pásma sítě při přenosu zpráv.
Za tímto účelem byly navrženy dvě přetížené metody:
-
MapiMessageItemBase.SetBodyContent(string content, BodyContentType contentType, bool compression): Tato metoda umožňuje nastavit obsah těla zprávy pomocí zadaného řetězce a specifikovat typ obsahu těla (např. prostý text, HTML, atd.). Volitelný parametr compression je hodnota určující, zda by měl být obsah komprimován pomocí komprese RTF. Pokud je parametr compression true, obsah bude komprimován, což povede k menší velikosti zprávy.
-
MapiMessageItemBase.SetBodyRtf(string content, bool compression): Tato metoda specificky nastavuje obsah těla zprávy ve formátu RTF. Parametr content je řetězec představující RTF obsah, který bude nastaven jako tělo zprávy. Stejně jako v předchozí metodě, parametr compression určuje, zda se má na obsah použít komprese RTF. Pokud je compression true, RTF obsah bude komprimován pro zmenšení velikosti.
Následující ukázkový kód ukazuje, jak nastavit HTML tělo a zachovat jej komprimované:
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);
Existuje také MapiConversionOptions.UseBodyCompression vlastnost. Když je tato vlastnost povolena, během konverze z MailMessage na MapiMessage se použije komprese RTF těla, což vede k menší velikosti MSG souboru. Je ukázáno v následujícím ukázkovém kódu:
var message = MailMessage.Load(fileName);
var options = new MapiConversionOptions();
options.UseBodyCompression = true;
var msg = MapiMessage.FromMailMessage(message, options);
Uložit zprávu ve stavu konceptu
E‑maily jsou uloženy jako koncepty, když někdo zahájil jejich úpravy, ale chce se k nim později vrátit a dokončit je. Aspose.Email podporuje ukládání e‑mailových zpráv ve stavu konceptu nastavením příznaku zprávy. Níže je ukázkový kód pro uložení Outlook e‑mailové zprávy (MSG) jako konceptu.