Création et enregistrement de fichiers Outlook

Aspose.Email prend en charge la création de fichiers de messages Outlook (MSG). Cet article explique comment :

Créer et enregistrer des messages Outlook

Le MailMessage classe possède le Save() méthode qui peut enregistrer des fichiers Outlook MSG sur le disque ou dans un flux. Les extraits de code ci‑dessous créent une instance de la MailMessage classe, définissez les propriétés comme from, to, subject et body. La Save() la méthode prend le nom de fichier comme argument. De plus, les messages Outlook peuvent être créés avec un corps RTF compressé en utilisant le MapiConversionOptions

  1. Créez une nouvelle instance de la MailMessage classe et définit les propriétés From, To, Subject et Body.
  2. Appelez le MapiMessage classe FromMailMessage méthode qui accepte l’objet du MailMessage type. La FromMailMessage méthode convertit le MailMessage en un MapiMessage (MSG).
  3. Appelez le MapiMessage.Save() méthode pour enregistrer le fichier MSG.

Écrivez le code suivant dans l’événement click du contrôle bouton de l’application Windows.

Créer des fichiers MSG avec pièces jointes

Dans l’exemple ci‑dessus, nous avons créé un fichier MSG simple. Aspose.Email prend également en charge l’enregistrement des fichiers de messages avec pièces jointes. Tout ce que vous avez à faire est d’ajouter les pièces jointes au MailMessage instance. Ajoutez des pièces jointes en appelant la méthode Add() sur le MailMessage.Attachments collection. Ajoutez une ListBox au formulaire créé ci‑dessus et ajoutez deux boutons, l’un pour ajouter et l’autre pour supprimer des pièces jointes. L’application qui ajoute des applications fonctionne ainsi :

  1. Lorsque le bouton Add Attachment est cliqué, une Open File Dialog s’affiche pour aider les utilisateurs à parcourir et sélectionner la pièce jointe.
  2. Lorsqu’un fichier a été sélectionné, le chemin complet est ajouté à une liste.
  3. Lorsque le fichier MSG est créé, les chemins des pièces jointes sont récupérés depuis la liste et ajoutés au MailMessage.Attachments collection.

Écrivez le code suivant dans l’événement de clic du bouton Add Attachment.

Lorsque le bouton Remove Attachment est cliqué, supprimez les éléments sélectionnés de la ListBox. Écrivez le code suivant dans l’événement de clic du bouton Remove Attachment.

Ajoutez le code pour ajouter les pièces jointes au MailMessage instance. Le code final pour la fonction Write Msg est écrit comme ci‑dessous.

Créer des fichiers MSG avec corps RTF

Vous pouvez également créer des fichiers Outlook Message (MSG) avec des corps en texte enrichi (RTF) à l’aide d’Aspose.Email. Le corps RTF prend en charge le formatage du texte. Créez‑en un en définissant le MailMessage.HtmlBody propriété. Lorsque vous convertissez un MailMessage instance en un MapiMessage Dans cet exemple, le corps HTML est converti en RTF. Ainsi, le formatage du corps du courriel est préservé.

L’exemple suivant crée un fichier MSG avec un corps RTF. Il comporte un titre, ainsi que des formats gras et souligné appliqués dans le corps HTML. Ce formatage est conservé lors de la conversion du HTML en RTF.

Compression RTF pour le corps du message MAPI

NOTE: Le processus de compression peut ralentir les performances lors de la création de messages. En comprenant ce fait et en configurant le drapeau de compression en fonction des exigences spécifiques et du compromis entre la taille du fichier et les performances, les développeurs peuvent gérer efficacement la création de fichiers MSG et PST lors du traitement des messages électroniques.

La compression RTF vise à réduire la taille d’un message ainsi que les fichiers PST (Personal Storage Table) résultants que Microsoft Outlook utilise pour stocker les courriels et d’autres données. En utilisant la compression RTF lors de la configuration du corps du message, les développeurs peuvent réduire la quantité de mémoire nécessaire au stockage des courriels ou optimiser la bande passante du réseau lors de la transmission des messages.

À cet effet, deux méthodes surchargées ont été conçues :

  • MapiMessageItemBase.SetBodyContent(string content, BodyContentType contentType, bool compression) : Cette méthode vous permet de définir le contenu du corps du message en utilisant la chaîne spécifiée et en indiquant le type de contenu du corps (par exemple, texte brut, HTML, etc.). Le paramètre optionnel compression est une valeur qui indique si le contenu doit être compressé à l’aide de la compression RTF. Si le paramètre compression est vrai, le contenu sera compressé, ce qui réduit la taille du message.

  • MapiMessageItemBase.SetBodyRtf(string content, bool compression) : Cette méthode définit spécifiquement le contenu du corps du message au format RTF. Le paramètre content est une chaîne représentant le contenu RTF qui sera défini comme corps du message. Comme dans la méthode précédente, le paramètre compression détermine si la compression RTF doit être appliquée au contenu. Si compression est vrai, le contenu RTF sera compressé pour réduire la taille.

L’exemple de code suivant montre comment définir le corps HTML et le garder compressé :

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

Il existe également un MapiConversionOptions.UseBodyCompression propriété. Lorsque cette propriété est activée, la compression du corps RTF est appliquée lors de la conversion de MailMessage en MapiMessage, ce qui entraîne une taille de fichier MSG plus petite. Cela est illustré dans l’exemple de code ci‑dessous :

var message = MailMessage.Load(fileName);
var options = new MapiConversionOptions();
options.UseBodyCompression = true;
var msg = MapiMessage.FromMailMessage(message, options);

Enregistrer le message en statut brouillon

Les e‑mails sont enregistrés comme brouillons lorsqu’une personne a commencé à les modifier mais souhaite y revenir plus tard pour les terminer. Aspose.Email prend en charge l’enregistrement des messages électroniques en statut brouillon en définissant un drapeau de message. Ci‑dessous le code d’exemple pour enregistrer un message Outlook (MSG) en tant que brouillon.