Mengonversi MBOX ke PST

Konversi MBOX ke PST. Konversi Dasar

Saat memigrasi data surat dari klien seperti Mozilla Thunderbird ke Microsoft Outlook, mengonversi arsip MBOX ke format PST (Personal Storage Table) sering diperlukan. Format PST adalah format asli Outlook dan Exchange serta mendukung fitur lanjutan seperti struktur folder dan penanganan pesan berbasis MAPI.

Aspose.Email untuk .NET memungkinkan pengembang mentransfer pesan secara manual dari file MBOX ke penyimpanan kompatibel Outlook dengan kontrol penuh atas proses konversi. Di bawah ini contoh yang menunjukkan cara memuat pesan dari arsip MBOX dan menyimpannya ke file data Outlook yang terstruktur:

  1. Inisialisasi pembaca MBOX menggunakan MboxStorageReader.CreateReader().
  2. Hasilkan file PST menggunakan PersonalStorage.Create().
  3. Tambahkan folder surat (misalnya, “Inbox”) ke penyimpanan.
  4. Iterasi melalui setiap pesan, konversi menjadi MapiMessage, dan sisipkan ke dalam folder.
// 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);
    }
}

Hapus Tanda Tangan Digital Selama Konversi

Dalam beberapa kasus, tanda tangan digital yang disematkan dalam pesan tidak diperlukan dalam file target. Untuk mengecualikannya selama transfer, atur RemoveSignature properti di dalam MboxToPstConversionOptions menjadi true.

Contoh kode berikut menunjukkan cara memanfaatkan properti ini:

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