Conversión de MBOX a PST
Convertir MBOX a PST. Conversión básica
Al migrar datos de correo de clientes como Mozilla Thunderbird a Microsoft Outlook, a menudo se requiere convertir los archivos MBOX al formato PST (Personal Storage Table). El formato PST es nativo de Outlook y Exchange y admite características avanzadas como estructuras de carpetas y manejo de mensajes basado en MAPI.
Aspose.Email para .NET permite a los desarrolladores transferir manualmente mensajes de archivos MBOX a un almacenamiento compatible con Outlook con control total sobre el proceso de conversión. A continuación se muestra un ejemplo que demuestra cómo cargar mensajes de un archivo MBOX y guardarlos en un archivo de datos de Outlook estructurado:
- Inicializar el lector MBOX usando MboxStorageReader.CreateReader().
- Generar un archivo PST usando PersonalStorage.Create().
- Agregar una carpeta de correo (p. ej., “Inbox”) al almacenamiento.
- Iterar sobre cada mensaje, convertirlo a un MapiMessage, y colóquelo en la carpeta.
// 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);
}
}
Eliminar firmas digitales durante la conversión
En algunos casos, las firmas digitales incrustadas en los mensajes no son necesarias en el archivo de destino. Para excluirlas durante la transferencia, establezca el RemoveSignature propiedad en el MboxToPstConversionOptions a true.
El siguiente fragmento de código muestra cómo utilizar esta propiedad:
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 });