การจัดการรายการบันทึกประจำวัน MAPI ของ Outlook ในไฟล์ PST

เพิ่มรายการ Journal ของ MAPI ไปยังไฟล์ PST

สร้างไฟล์ PST ใหม่และเพิ่มโฟลเดอร์ย่อย แสดงวิธีสร้างไฟล์ PST ใหม่และเพิ่มโฟลเดอร์ย่อยลงไป. ด้วย Aspose.Email คุณยังสามารถสร้างรายการบันทึก MAPI ใหม่และเพิ่มลงในไฟล์ PST ได้ ตัวอย่างโค้ดด้านล่างสาธิตวิธีสร้างรายการบันทึก, ตั้งค่าคุณสมบัติของมัน, และเก็บไว้ในไฟล์ PST ที่สร้างใหม่:

  1. สร้างรายการ Journal ของ MAPI: สร้างอินสแตนซ์ของ MapiJournal อ็อบเจ็กต์ที่มีหัวเรื่อง, เนื้อหา และประเภท
  2. กำหนดเวลา Journal: กำหนดเวลาเริ่มต้นของรายการบันทึกเป็นวันและเวลาปัจจุบันโดยใช้ dt.datetime.now() และตั้งเวลาสิ้นสุดให้ช้ากว่าอีกหนึ่งชั่วโมงโดยใช้ dt.datetime.today() + timedelta(hours=1).
  3. สร้างไฟล์ PST: ใช้ PersonalStorage.create เพื่อสร้างไฟล์ PST ใหม่ด้วยรูปแบบ UNICODE.
  4. สร้างโฟลเดอร์ Journal: ภายในไฟล์ PST ใหม่, สร้างโฟลเดอร์ที่กำหนดไว้ล่วงหน้าชื่อ "Journal" โดยใช้ create_predefined_folder ด้วย StandardIpmFolder.JOURNAL พารามิเตอร์
  5. Add Journal Entry to Folder: เพิ่มรายการบันทึกประจำวัน MAPI ที่สร้างไว้ก่อนหน้านี้ไปยังโฟลเดอร์ "Journal" โดยใช้ add_mapi_message_item.

เพิ่มไฟล์แนบไปยังรายการ Journal ของ MAPI ในไฟล์ PST

ตัวอย่างโค้ดด้านล่างสาธิตวิธีสร้างและบันทึกรายการบันทึก MAPI โดยใช้ไลบรารี Aspose.Email รายการบันทึกนี้เกี่ยวข้องกับการโทรศัพท์และมีไฟล์แนบ

  1. กำหนดไดเรกทอรีและไฟล์แนบ:
    • data_dir: ตัวแปรที่เก็บพาธไปยังไดเรกทอรีข้อมูลที่ไฟล์และผลลัพธ์จะถูกจัดเก็บ
    • attach_file_names: รายการที่ประกอบด้วยชื่อไฟล์พาธเต็มของไฟล์แนบที่จะเพิ่มเข้าไปใน journal.
  2. สร้างอ็อบเจ็กต์ MapiJournal:
    • A MapiJournal อ็อบเจ็กต์ถูกสร้างด้วยหัวเรื่อง "testJournal". รายการบันทึกนี้ถูกระบุเป็น "การโทรศัพท์" ทั้งในฟิลด์หัวเรื่องและประเภท
    • journal.start_time ตั้งค่าเป็นเวลาเท่าเดี๋ยวนี้โดยใช้ datetime.now().
    • journal.end_time คำนวณโดยเพิ่มหนึ่งชั่วโมงไปยังเวลาเริ่มต้นโดยใช้ timedelta(hours=1).
  3. ตั้งค่าบริษัทที่เกี่ยวข้อง:
    • นี้ journal.companies แอตทริบิวต์จะถูกอัปเดตด้วยรายการบริษัทที่เกี่ยวข้องในรายการบันทึกนี้
  4. แนบไฟล์ไปยัง Journal:
    • ลูปทำซ้ำสำหรับแต่ละไฟล์ใน 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"))