Convertendo MBOX para PST

Converter MBOX para PST. Conversão Básica

Ao migrar dados de e‑mail de clientes como o Mozilla Thunderbird para o Microsoft Outlook, muitas vezes é necessário converter arquivos MBOX para o formato PST (Personal Storage Table). O formato PST é nativo do Outlook e Exchange e suporta recursos avançados como estruturas de pastas e manipulação de mensagens baseada em MAPI.

Aspose.Email para .NET permite que os desenvolvedores transfiram manualmente mensagens de arquivos MBOX para armazenamento compatível com Outlook com total controle sobre o processo de conversão. Abaixo está um exemplo que demonstra como carregar mensagens de um arquivo MBOX e salvá‑las em um arquivo de dados Outlook estruturado:

  1. Inicialize o leitor MBOX usando MboxStorageReader.CreateReader().
  2. Gere um arquivo PST usando PersonalStorage.Create().
  3. Adicione uma pasta de e‑mail (por exemplo, “Inbox”) ao armazenamento.
  4. Percorra cada mensagem, converta-a para um MapiMessage, e insira-o na pasta.
// 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);
    }
}

Remover Assinaturas Digitais Durante a Conversão

Em alguns casos, assinaturas digitais incorporadas nas mensagens não são necessárias no arquivo de destino. Para excluí‑las durante a transferência, defina o RemoveSignature propriedade na MboxToPstConversionOptions para true.

O exemplo de código a seguir mostra como utilizar esta propriedade:

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