תכנות עם Thunderbird

קריאת הודעות

Mozilla Thunderbird הוא לקוח דוא"ל קוד פתוח, חוצה פלטפורמות, שפותח על ידי Mozilla Foundation. הוא שומר אימיילים במבנה קבצים משלו, מנהל אינדקסי הודעות ותתי‑תיקיות דרך פורמטים קבצים קנייניים. Aspose.Email יכול לעבוד עם מבני אחסון הדואר של Thunderbird. המחלקה MboxrdStorageReader מאפשרת למפתחים לקרוא הודעות מקובץ האחסון של Mozilla Thunderbird. מאמר זה מציג כיצד לקרוא את ההודעות מאחסון הדואר של Thunderbird:

  1. פתח את קובץ האחסון של Thunderbird
  2. צור מופע של המחלקה MboxrdStorageReader והעבר את ה‑stream שלמעלה לבונה.
  3. קרא ל‑read_next_message() כדי לקבל את ההודעה הראשונה.
  4. השתמש באותה הפונקציה read_next_message() בלולאת while כדי לקרוא את כל ההודעות.
  5. סגור את כל הזרמים.

קטע הקוד הבא מציג כיצד לקרוא את כל ההודעות מאחסון הדואר של Thunderbird.

קבלת מאפייני הודעה

כדי לקרוא ולהשיג מידע מקובץ Mbox, Aspose.Email מספקת את ה- MboxStorageReader מחלקה ליצירת אובייקט קורא עבור קובץ Mbox וה- MboxLoadOptions מחלקה לטעינת הקובץ. המאפיינים הבאים של ה- MboxMessageInfo המחלקה ניתנת לשימוש כדי לגשת ולהציג פרטי הודעה ספציפיים:

  • ‘date’ - מקבל את תאריך ההודעה.
  • ‘from_address’ - מקבל את כתובת השולח.
  • ‘subject’ - משיגה את נושא ההודעה.
  • ’to’ - משיגה את אוסף הכתובות שמכיל את הנמענים של ההודעה.
  • ‘cc’ - משיגה את אוסף הכתובות שמכיל את הנמענים ב‑CC.
  • ‘bcc’ - משיגה את אוסף הכתובות שמכיל את הנמענים ב‑BCC של ההודעה.

דוגמת הקוד הבאה מציגה את השימוש במאפיינים אלו לקריאה והוצאת מידע הודעה מקובץ Mbox:

import aspose.email as ae

reader = ae.storage.mbox.MboxStorageReader.create_reader(file_name, ae.storage.mbox.MboxLoadOptions())

for mbox_message_info in reader.enumerate_message_info():
    print(f"Subject: {mbox_message_info.subject}")
    print(f"Date: {mbox_message_info.date}")
    print(f"From: {mbox_message_info.from_address}")
    print(f"To: {mbox_message_info.to}")
    print(f"CC: {mbox_message_info.cc}")
    print(f"Bcc: {mbox_message_info.bcc}")

חלץ הודעות מ‑MBOX לפי מזהים

כדי לקרוא הודעות מקובץ MBOX, Aspose.Email מספקת את השיטה ‘create_reader()’ של ה‑ MboxStorageReader מחלקה ליצירת אובייקט קורא עבור הקובץ. היא מקבלת את שם הקובץ ו‑ MboxLoadOptions כארגומנטים, המאפשרים למשתמש לטעון את קובץ MBOX עם אפשרויות ספציפיות אם נדרש.

על מנת לחלץ הודעות, משתמשים בשיטות ובמאפיינים הבאים:

  • השיטה ’enumerate_message_info()’ של ה‑ MboxStorageReader מחלקה - עוברת על כל הודעה בקובץ MBOX.
  • השיטה ’extract_message()’ של ה‑ MboxStorageReader מחלקה - מחלץ כל הודעה לפי מזהה ה‑Entry שלה.
  • המאפיין ’entry_id’ של ה‑ MboxMessageInfo מחלקה - משיגה את מזהה הרשומה.

לבסוף, הודעה מומרת לפורמט EML באמצעות EmlLoadOptions.

דוגמת הקוד למטה מציגה את השימוש בתכונות אלה לקריאה והוצאת הודעות מקובץ MBOX:

import aspose.email as ae

reader = ae.storage.mbox.MboxStorageReader.create_reader("my.mbox", ae.storage.mbox.MboxLoadOptions())

for mbox_message_info in reader.enumerate_message_info():
    eml = reader.extract_message(mbox_message_info.entry_id, ae.EmlLoadOptions())

קביעת אפשרויות הטעינה בעת קריאת הודעות מ‑MBOX

עם Aspose.Email EmlLoadOptions מחלקה, אתה יכול לציין אפשרויות נוספות בעת טעינת MailMessage מפורמט Eml. לדוגמה, ניתן להגדיר אפשרות לשמור על קבצי TNEF בעת טעינת קובץ EML באמצעות המאפיין ‘preserve_tnef_attachments’ של ה‑ EmlLoadOptions מחלקה.

אתה יכול לקרוא את הודעת האימייל הבאה מקובץ ה‑mbox תוך שימוש באפשרויות הטעינה שצוינו עם השיטה ‘read_next_message’ של ה‑ MboxStorageReader מחלקה וממירה את הקובץ לפורמט PST באמצעות השיטה ‘mbox_to_pst’ של ה‑ MailStorageConverter מחלקה .

דוגמת הקוד למטה מציגה את השימוש בשיטות ובמאפיינים אלה לעבודה עם קבצי אחסון אימייל, כולל קריאת הודעות מפורמט mbox, שמירת קבצי TNEF, והמרת הודעות מ‑mbox לפורמט pst:

import aspose.email as ae

reader = ae.storage.mbox.MboxrdStorageReader(fileName, ae.storage.mbox.MboxLoadOptions())
# Read messages preserving tnef attachments.
load_options = ae.EmlLoadOptions()
load_options.preserve_tnef_attachments = True
eml = reader.read_next_message(load_options)
ae.storage.MailStorageConverter.MboxMessageOptions(load_options)
# Convert messages from mbox to pst preserving tnef attachments.
pst = ae.storage.MailStorageConverter.mbox_to_pst("Input.mbox", "Output.pst")

הגדרת קידוד טקסט מועדף בעת טעינת קובצי Mbox לקריאה

אתה יכול לציין קידוד טקסט שישתמש בעת טעינת קובץ MBOX. המאפיין ‘preferred_text_encoding’ זמין עבור ה‑ MboxLoadOptions המחלקה מגדירה אפשרות נוספת ומבטיחה שהודעה עם תוכן מקודד תיקרא ותעובד כראוי.

קטע הקוד הבא מראה כיצד להשתמש בתכונה זו בפרויקט:

import aspose.email as ae

load_options = ae.storage.mbox.MboxLoadOptions()
load_options.preferred_text_encoding = 'utf-8'
reader = ae.storage.mbox.MboxrdStorageReader("sample.mbox", load_options)
message = reader.read_next_message()

המרת MBOX ל‑PST תוך שמירה או הסרת חתימה

כדי להסיר את החתימה מקובץ במהלך תהליך ההמרה, הגדר את המאפיין MboxToPstConversionOptions.remove_signature ל‑true.

דוגמת הקוד הבא מראה כיצד להשתמש במאפיין זה:

import aspose.email as ae

personalStorage = ae.storage.pst.PersonalStorage.create("target.pst", ae.storage.pst.FileFormatVersion.UNICODE)
conversion_options = ae.storage.MboxToPstConversionOptions()
conversion_options.remove_signature = True
ae.storage.MailStorageConverter.mbox_to_pst( ae.storage.mbox.MboxrdStorageReader("source.mbox", ae.storage.mbox.MboxLoadOptions()), personalStorage, "Inbox", conversion_options)

כתיבת הודעות

המחלקה MboxrdStorageWriter מספקת אפשרות לכתוב הודעות חדשות לקובץ האחסון של הדואר של Thunderbird. כדי לכתוב הודעות:

  1. פתח את קובץ האחסון של Thunderbird ב‑FileStream.
  2. צור מופע של המחלקה MboxrdStorageWriter והעבר את ה‑stream שלמעלה לבונה.
  3. הכן הודעה חדשה באמצעות המחלקה MailMessage.
  4. קרא לשיטת write_message() והעבר את מופע MailMessage שלמעלה כדי להוסיף את ההודעה לאחסון של Thunderbird.
  5. סגור את כל הזרמים.

קטע הקוד הבא מציג כיצד לכתוב הודעות לאחסון הדואר של Thunderbird.

קבלת מספר ההודעות הכולל מקובץ MBox

המחלקה MboxrdStorageReader מספקת אפשרות לקרוא את מספר הפריטים הזמינים בקובץ MBox. ניתן להשתמש בכך כדי לפתח יישומים המציגים את התקדמות הפעילות בעת עיבוד קובץ כזה.

קבל את גודל ההודעה הנוכחי