Creazione e salvataggio di file Outlook
Aspose.Email supporta la creazione di file Outlook message (MSG). Questo articolo spiega come:
- Crea e salva messaggi Outlook
- Crea file MSG con allegati
- Crea file MSG con corpo RTF
- Salva messaggio in stato bozza
Crea e salva messaggi Outlook
Il MailMessage classe ha il Save() metodo che può salvare file Outlook MSG su disco o in stream. Gli snippet di codice seguenti creano un’istanza della MailMessage classe, imposta proprietà come from, to, subject e body. Il Save() il metodo accetta il nome file come argomento. Inoltre, i messaggi Outlook possono essere creati con un corpo RTF compresso usando il MapiConversionOptions.
- Crea una nuova istanza della MailMessage classe e imposta le proprietà From, To, Subject e Body.
- Chiama il MapiMessage classe FromMailMessage metodo che accetta l’oggetto della MailMessage tipo. Il FromMailMessage il metodo converte il MailMessage in un MapiMessage (MSG).
- Chiama il MapiMessage.Save() metodo per salvare il file MSG.
Inserisci il seguente codice nell’evento click del controllo pulsante dell’applicazione Windows.
Crea file MSG con allegati
Nell’esempio sopra, abbiamo creato un semplice file MSG. Aspose.Email supporta anche il salvataggio di file messaggi con allegati. Tutto quello che devi fare è aggiungere gli allegati al MailMessage istanza. Aggiungi allegati chiamando il metodo Add() su MailMessage.Attachments collezione. Aggiungi una listbox al modulo creato sopra e aggiungi due pulsanti, uno per aggiungere e uno per rimuovere gli allegati. L’applicazione che aggiunge applicazioni funziona così:
- Quando il pulsante Add Attachment viene cliccato, viene mostrata una Open File Dialog per aiutare gli utenti a navigare e selezionare l’allegato.
- Quando un file è stato selezionato, il percorso completo viene aggiunto a un elenco.
- Quando il file MSG è creato, i percorsi degli allegati vengono prelevati dall’elenco e aggiunti al MailMessage.Attachments collezione.
Scrivi il seguente codice nell’evento click del pulsante Add Attachment.
Quando il pulsante Remove Attachment viene cliccato, rimuovi gli elementi selezionati dalla listbox. Scrivi il seguente codice nell’evento click del pulsante Remove Attachment.
Aggiungi il codice per aggiungere gli allegati al MailMessage istanza. Il codice finale per la funzione Write Msg è scritto come segue.
Crea file MSG con corpo RTF
Puoi anche creare file Outlook Message (MSG) con corpi di testo ricco (RTF) usando Aspose.Email. Il corpo RTF supporta la formattazione del testo. Creane uno impostando il MailMessage.HtmlBody proprietà. Quando converti un MailMessage istanza in un MapiMessage nell’istanza, il corpo HTML viene convertito in RTF. In questo modo, la formattazione del corpo dell’email viene preservata.
Il seguente esempio crea un file MSG con un corpo RTF. Nell corpo HTML è presente un’intestazione, formattazione grassetto e sottolineato. Questa formattazione viene conservata quando l’HTML viene convertito in RTF.
Compressione RTF per il corpo del messaggio MAPI
NOTE: Il processo di compressione può rallentare le prestazioni durante la creazione dei messaggi. Comprendendo questo aspetto e configurando il flag di compressione in base ai requisiti specifici e al compromesso tra dimensione del file e prestazioni, gli sviluppatori possono gestire efficacemente la creazione di file MSG e PST quando si trattano messaggi di posta elettronica.
La compressione RTF è prevista per ridurre le dimensioni di un messaggio così come dei file PST (Personal Storage Table) risultanti che Microsoft Outlook utilizza per archiviare messaggi di posta elettronica e altri dati. Utilizzando la compressione RTF nella configurazione del corpo del messaggio, gli sviluppatori possono ridurre la quantità di memoria necessaria per memorizzare i messaggi di posta elettronica o ottimizzare la larghezza di banda di rete durante la trasmissione dei messaggi.
A tal fine, sono stati progettati due metodi sovraccaricati:
-
MapiMessageItemBase.SetBodyContent(string content, BodyContentType contentType, bool compression): Questo metodo consente di impostare il contenuto del corpo del messaggio usando la stringa specificata e definendo il contentType del corpo (ad esempio, plain text, HTML, ecc.). Il parametro opzionale compression è un valore che specifica se il contenuto deve essere compresso usando la compressione RTF. Se il parametro compression è true, il contenuto sarà compresso, risultando in una dimensione del messaggio più piccola.
-
MapiMessageItemBase.SetBodyRtf(string content, bool compression): Questo metodo imposta specificamente il contenuto del corpo del messaggio in formato RTF. Il parametro content è una stringa che rappresenta il contenuto RTF che sarà impostato come corpo del messaggio. Come nel metodo precedente, il parametro compression determina se la compressione RTF deve essere applicata al contenuto. Se compression è true, il contenuto RTF verrà compresso per ridurne le dimensioni.
Il seguente esempio di codice mostra come impostare il corpo HTML e mantenerlo compresso:
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);
C’è anche un MapiConversionOptions.UseBodyCompression proprietà. Quando questa proprietà è abilitata, la compressione del corpo RTF è applicata durante la conversione da MailMessage a MapiMessage, risultando in una dimensione del file MSG più piccola. È mostrato nel seguente esempio di codice:
var message = MailMessage.Load(fileName);
var options = new MapiConversionOptions();
options.UseBodyCompression = true;
var msg = MapiMessage.FromMailMessage(message, options);
Salva messaggio in stato bozza
Le email vengono salvate come bozze quando qualcuno ha iniziato a modificarle ma vuole tornare su di esse per completarle in seguito. Aspose.Email supporta il salvataggio dei messaggi email in stato bozza impostando un flag del messaggio. Di seguito il codice di esempio per salvare un messaggio email di Outlook (MSG) come bozza.