管理 PST 文件中的 Outlook MAPI 日志条目

向 PST 文件添加 MAPI 日志条目

创建新 PST 文件并添加子文件夹 演示如何创建一个新的 PST 文件并向其中添加子文件夹。使用 Aspose.Email,您还可以创建新的 MAPI 日志条目并将其添加到 PST 文件中。下面的代码示例展示了如何创建日志条目,设置其属性,并将其存储在新创建的 PST 文件中:

  1. 创建 MAPI 日志条目:实例化一个 MapiJournal 对象,包含主题、正文和类型。
  2. 设置日志时间:使用 将日志条目的开始时间定义为当前日期时间 dt.datetime.now() 并使用 将结束时间设置为后一个小时 dt.datetime.today() + timedelta(hours=1).
  3. 创建 PST 文件:使用 PersonalStorage.create 以生成使用 UNICODE 格式的新 PST 文件。
  4. 创建日志文件夹:在新的 PST 文件中,使用 "Journal" 创建一个预定义文件夹。 create_predefined_folder 使用 the StandardIpmFolder.JOURNAL 参数。
  5. 将日志条目添加到文件夹:使用以下方式将先前创建的 MAPI 日志条目添加到 “Journal” 文件夹 add_mapi_message_item.

向 PST 文件中的 MAPI 日志条目添加附件

下面的代码示例演示如何使用 Aspose.Email 库创建并保存 MAPI 日志项。该日志条目与一次电话通话相关,并包含附件文件。

  1. 定义目录和附件
    • data_dir:存放文件和输出的目标数据目录路径的变量。
    • attach_file_names:包含要添加到日志的附件完整路径文件名的列表。
  2. 创建 MapiJournal 对象
    • 一个 MapiJournal 对象使用标题 "testJournal" 创建。此日志条目在主题和类型字段中均描述为 "Phone call"(电话通话)。
    • journal.start_time 使用 将其设置为当前时间 datetime.now().
    • journal.end_time 通过使用 将开始时间加一小时来计算 timedelta(hours=1).
  3. 设置涉及的公司
    • journal.companies 属性已更新为该日志条目涉及的公司列表。
  4. 将文件附加到日志
    • 循环遍历其中的每个文件 attach_file_names。对于每个文件,它将文件附加到 journal.attachments 通过以二进制模式读取文件内容。
  5. 保存 MapiJournal
    • 最后,日志条目以 ".msg" 文件的形式保存在指定的数据目录中。
import os
from datetime import datetime, timedelta
from aspose.email.mapi import MapiJournal

data_dir = "path_to_data_directory"
attach_file_names = [os.path.join(data_dir, "Desert.jpg"), os.path.join(data_dir, "download.png")]

journal = MapiJournal("testJournal", "This is a test journal", "Phone call", "Phone call")
journal.start_time = datetime.now()
journal.end_time = journal.start_time + timedelta(hours=1)
journal.companies = ["company 1", "company 2", "company 3"]

for attach in attach_file_names:
    journal.attachments.append(attach, open(attach, 'rb').read())

journal.save(os.path.join(data_dir, "AddAttachmentsToMapiJournal_out.msg"))