将 MBOX 转换为 PST
Contents
[
Hide
]
将 MBOX 转换为 PST。基础转换
在将邮件数据从 Mozilla Thunderbird 等客户端迁移到 Microsoft Outlook 时,通常需要将 MBOX 归档转换为 PST(个人存储表)格式。PST 格式是 Outlook 和 Exchange 的原生格式,支持文件夹结构和基于 MAPI 的消息处理等高级功能。
Aspose.Email for .NET 允许开发者手动将 MBOX 文件中的邮件转移到 Outlook 兼容的存储中,并完全控制转换过程。以下示例演示了如何从 MBOX 归档加载邮件并将其保存到结构化的 Outlook 数据文件中:
- 使用以下方式初始化 MBOX 读取器 MboxStorageReader.CreateReader().
- 使用以下方式生成 PST 文件 PersonalStorage.Create().
- 向存储中添加邮件文件夹(例如 “Inbox”)。
- 遍历每封邮件,将其转换为一个 MapiMessage,并将其插入到文件夹中。
// 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);
}
}
在转换过程中移除数字签名
在某些情况下,消息中嵌入的数字签名在目标文件中并非必需。要在传输过程中排除它们,请设置 RemoveSignature 属性在 MboxToPstConversionOptions 设为 true。
以下代码示例演示如何使用此属性:
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 });