Conversion de MBOX en PST

Convertir MBOX en PST. Conversion de base

Lors de la migration de données de messagerie depuis des clients comme Mozilla Thunderbird vers Microsoft Outlook, la conversion des archives MBOX au format PST (Personal Storage Table) est souvent requise. Le format PST est natif à Outlook et Exchange et prend en charge des fonctionnalités avancées comme les structures de dossiers et la gestion des messages basée sur MAPI.

Aspose.Email pour .NET permet aux développeurs de transférer manuellement les messages des fichiers MBOX vers un stockage compatible Outlook avec un contrôle complet du processus de conversion. Voici un exemple qui montre comment charger les messages d’une archive MBOX et les enregistrer dans un fichier de données Outlook structuré :

  1. Initialisez le lecteur MBOX en utilisant MboxStorageReader.CreateReader().
  2. Générez un fichier PST en utilisant PersonalStorage.Create().
  3. Ajoutez un dossier de courrier (par ex., “Inbox”) au stockage.
  4. Parcourez chaque message, convertissez‑le en un MapiMessage, et insérez‑le dans le dossier.
// Load the source file
var mbox = MboxStorageReader.CreateReader(mboxFilePath, new MboxLoadOptions());

// Create the destination Outlook data file
using (var personalStorage = PersonalStorage.Create(pstFilePath, FileFormatVersion.Unicode))
{
    // Add a folder to hold imported messages
    var folderInfo = personalStorage.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox);

    // Process each message from the source file
    foreach (var eml in mbox.EnumerateMessages())
    {
        var msg = MapiMessage.FromMailMessage(eml);
        folderInfo.AddMessage(msg);
    }
}

Supprimer les signatures numériques lors de la conversion

Dans certains cas, les signatures numériques intégrées aux messages ne sont pas nécessaires dans le fichier cible. Pour les exclure lors du transfert, définissez le RemoveSignature propriété dans le MboxToPstConversionOptions à true.

L’exemple de code suivant montre comment utiliser cette propriété :

var pstDataStream = new MemoryStream();
var personalStorage = PersonalStorage.Create(pstDataStream, FileFormatVersion.Unicode);
MailStorageConverter.MboxToPst(new MboxrdStorageReader(new FileStream(fileName, FileMode.Open, FileAccess.Read), new MboxLoadOptions()),
personalStorage,
    "Inbox",
new MboxToPstConversionOptions() { RemoveSignature = true });