MBOX'ı PST'ye Dönüştürme
MBOX’ı PST’ye Dönüştür. Temel Dönüştürme
Mozilla Thunderbird gibi istemcilerden Microsoft Outlook’a posta verileri aktarılırken, MBOX arşivlerini PST (Personal Storage Table) formatına dönüştürmek genellikle gereklidir. PST formatı Outlook ve Exchange için yerel olup, klasör yapıları ve MAPI tabanlı mesaj işleme gibi gelişmiş özellikleri destekler.
Aspose.Email for .NET, geliştiricilerin MBOX dosyalarından Outlook uyumlu depolamaya mesajları manuel olarak aktararak dönüşüm sürecinde tam kontrol sağlamalarına izin verir. Aşağıda bir MBOX arşivinden mesajları yükleyip yapılandırılmış bir Outlook veri dosyasına kaydetmeyi gösteren bir örnek bulunmaktadır:
- Şunu kullanarak MBOX okuyucuyu başlat: MboxStorageReader.CreateReader().
- Şunu kullanarak bir PST dosyası oluştur: PersonalStorage.Create().
- Depolamaya bir posta klasörü (örn., "Inbox") ekleyin.
- Her mesajı döngüye al, şu formata dönüştür: MapiMessage, ve onu klasöre ekleyin.
// 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);
}
}
Dönüştürme Sırasında Dijital İmzaları Kaldır
Bazı durumlarda, mesajlara gömülü dijital imzalar hedef dosyada gerekmez. Transfer sırasında bunları dışlamak için şunu ayarlayın RemoveSignature özellik MboxToPstConversionOptions true olarak.
Aşağıdaki kod örneği bu özelliğin nasıl kullanılacağını gösterir:
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 });