Conversione di MBOX in PST
Convertire MBOX in PST. Conversione di base
Quando si migra il dato di posta da client come Mozilla Thunderbird a Microsoft Outlook, è spesso necessario convertire gli archivi MBOX in formato PST (Personal Storage Table). Il formato PST è nativo di Outlook ed Exchange e supporta funzionalità avanzate come strutture di cartelle e gestione dei messaggi basata su MAPI.
Aspose.Email per .NET consente agli sviluppatori di trasferire manualmente i messaggi dai file MBOX in un archivio compatibile con Outlook con pieno controllo sul processo di conversione. Di seguito è riportato un esempio che dimostra come caricare i messaggi da un archivio MBOX e salvarli in un file dati Outlook strutturato:
- Inizializzare il lettore MBOX usando MboxStorageReader.CreateReader().
- Generare un file PST usando PersonalStorage.Create().
- Aggiungere una cartella di posta (ad es., “Inbox”) allo storage.
- Iterare su ogni messaggio, convertirlo in un MapiMessage, e inserirlo nella cartella.
// 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);
}
}
Rimuovere le firme digitali durante la conversione
In alcuni casi, le firme digitali incorporate nei messaggi non sono necessarie nel file di destinazione. Per escluderle durante il trasferimento, impostare il RemoveSignature proprietà nella MboxToPstConversionOptions a true.
Il seguente esempio di codice mostra come utilizzare questa proprietà:
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 });