Aspose.Email  适用于 Node.js via .NET

在 JavaScript 中读取 OLM 文件

在 JavaScript 中打开并读取 OLM 文件,访问电子邮件和其他数据,并在 Node.js 应用程序中以编程方式保存为 PST 格式。

Node.js 应用的 OLM 阅读器

通过 .NET 的 Aspose.Email for Node.js 为希望在 Node.js 环境中使用 OLM 文件的开发者提供可靠的解决方案。OLM 文件是 Microsoft Outlook for Mac 使用的文件,通常需要专门工具才能在其他平台上访问其内容。此 JavaScript API 为开发者提供了便捷的工具,可轻松打开 OLM 文件、提取数据并解析内容,无需单独的转换工具。从邮件、日历事件到联系人和附件,Aspose.Email 以直观高效的方式实现对所有 OLM 数据的完整访问。

这些 API 通过提供高性能、即开即用的函数,帮助开发者节省大量时间,免去自行开发自定义解析器或数据提取器的需求。

在 Node.js 中使用 Aspose.Email 读取 OLM 文件

该 API 提供对 OLM 文件中每个组件的结构化访问,只需几行代码即可轻松检索诸如邮件、联系人列表和任务等单独项目。请测试以下代码示例,演示如何使用 Node.js API 打开 OLM 文件并读取邮件。

读取 OLM 文件的步骤

在开始之前,请花一点时间通过 npm install aspose.email 命令导入 Aspose.Email,以使用其 OLM 文件处理功能。该 评估版 或一个 临时许可证 可免费获取。

  1. 使用以下方法加载 OLM 文件 OlmStorage.fromFile() 方法。
  2. 访问文件中的 "Inbox" 文件夹。true 参数确保搜索包括子文件夹(如果存在)。
  3. 使用以下方式遍历文件夹中的邮件 enumerateMessages() .
  4. 检查邮件日期是否为今天的日期。只有今天收到的邮件才会继续下一步。
  5. 从收件箱中提取今天的邮件。对于每封符合今天日期的邮件, extractMapiMessage() 检索完整的邮件数据,创建一个 MapiMessage 对象 (msg) 以供后续使用。

代码示例

 

使用 Node.js via .NET 进行 OLM 文件解析

// Import the Aspose.Email library
const ae = require('@aspose/email');

const ae = require('@aspose/email');

// Load the OLM file
const olm = new ae.Storage.Olm.OlmStorage.fromFile("test.olm");

// Get the "Inbox" folder
const folder = olm.getFolder("Inbox", true);

// Loop through messages in the folder
const messages = folder.enumerateMessages();
for (let messageInfo of messages) {
    if (messageInfo.date.toDateString() === new Date().toDateString()) {
        // Extract today's messages from Inbox
        const msg = olm.extractMapiMessage(messageInfo);

        // You can now work with `msg`, which represents the MapiMessage object
        console.log(`Subject: ${msg.subject}`);
    }
}
 

该代码让开发者快速访问邮件数据,包括发件人信息、日期和主题等元数据。同样,其他 OLM 组件如日历项、联系人和笔记也可通过 API 中相应的方法轻松获取。

将 OLM 转换为 PST

由于无法在 Windows 版 Outlook 中打开 Mac 版 Outlook 文件,您可能对从 Mac Outlook 到 Windows Outlook 的邮箱迁移感兴趣。为此,Aspose.Email 提供将 OLM 文件转换为 Outlook PST 文件格式的功能。该 PersonalStorage.create 方法创建一个新的 PST 文件。该 addToPst() 函数将在保留层级结构的同时转移文件夹和邮件。

在 Node.js via .NET 中将 OLM 转换为 PST

const aspose = require('@aspose/email');

// Load the source OLM file
const olm = ae.Storage.Olm.OlmStorage.fromFile("test.olm");

// Create a new PST file in Unicode format
const pst = ae.Storage.Pst.PersonalStorage.create("my.pst", ae.Storage.Pst.FileFormatVersion.Unicode);

// Function to recursively add OLM folders and messages to the PST
function addToPst(pstFolder, olmFolder) {
    // Create a corresponding subfolder in PST
    const subFolder = pstFolder.addSubFolder(olmFolder.name);

    // Iterate through each message in the OLM folder and add it to the PST subfolder
    const messages = olmFolder.enumerateMessages();
    for (let messageInfo of messages) {
        const msg = olm.extractMapiMessage(messageInfo);
        subFolder.addMessage(msg);
    }

    // Recursively process subfolders
    const subFolders = olmFolder.enumerateFolders();
    for (let subOlmFolder of subFolders) {
        addToPst(subFolder, subOlmFolder);
    }
}

// Process each folder in the OLM file and add it to the root of the PST
const olmFolders = olm.folderHierarchy;
for (let olmFolder of olmFolders) {
    addToPst(pst.rootFolder, olmFolder);
}

通过 .NET 安装 Aspose.Email for Node.js

通过 .NET 的 Aspose.Email for Node.js 提供功能丰富、优化的解决方案,用于读取、解析和提取邮件内容,具有广泛的兼容性和一致的性能,是简单和高级邮件处理任务的首选。

尽管该库目前已提供基本的邮件数据处理功能,但仍在积极开发中,未来更新将加入更多功能,进一步扩展其能力。

要在 Node.js 项目中开始使用 Aspose.Email,请通过 npm 安装:

 

命令


npm install @aspose/email
 

安装完成后,您即可开始利用其强大功能处理 OLM 文件和其他邮件格式。

系统要求

在运行代码之前,请确保具备以下前置条件:

  • Microsoft Windows、Mac OS X 或 Linux(Ubuntu、CentOS 等)。
  • 如 Visual Studio Code 的开发环境。
  • 来自 nodejs.org 的 Node.js 版本(包括 npm)。

读取其他格式

探索 API 能够轻松处理的其他文件格式。

MBOX (电子邮件消息)
OST (离线存储文件)
PST (Outlook 个人存储文件)
TGZ (压缩存档文件)