برنامه‌نویسی با Thunderbird

خواندن پیام‌ها

Mozilla Thunderbird یک برنامه‌کاربری ایمیل منبع باز و چندسکویی است که توسط بنیاد Mozilla توسعه یافته است. این برنامه ایمیل‌ها را در ساختار فایل خاص خود ذخیره می‌کند و شاخص‌ها و زیرپوشه‌های پیام‌ها را از طریق فرمت‌های فایل اختصاصی مدیریت می‌کند. Aspose.Email می‌تواند با ساختارهای ذخیره‌سازی ایمیل Thunderbird کار کند. کلاس MboxrdStorageReader به توسعه‌دهندگان امکان می‌دهد پیام‌ها را از فایل ذخیره‌سازی ایمیل Mozilla Thunderbird بخوانند. این مقاله نحوه خواندن پیام‌ها از ذخیره‌سازی ایمیل Thunderbird را نشان می‌دهد:

  1. فایل ذخیره‌سازی Thunderbird را باز کنید
  2. یک نمونه از کلاس MboxrdStorageReader ایجاد کنید و استریم فوق را به سازنده پاس دهید.
  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 ID) استخراج می‌کند.
  • ویژگی ’entry_id’ از MboxMessageInfo کلاس - شناسه ورودی را دریافت می‌کند.

در نهایت، پیام با استفاده از 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 کلاس و با استفاده از متد ‘mbox_to_pst’ آن فایل را به قالب 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 ایجاد کنید و استریم فوق را به سازنده پاس دهید.
  3. یک پیام جدید را با استفاده از کلاس MailMessage آماده کنید.
  4. متد write_message() را فراخوانی کنید و نمونه‌ی MailMessage فوق را برای افزودن پیام به ذخیره‌سازی Thunderbird پاس بدهید.
  5. تمام جریان‌ها را ببندید.

قطعه کد زیر نشان می‌دهد چگونه پیام‌ها را به ذخیره‌سازی ایمیل Thunderbird می‌نویسید.

دریافت تعداد کل پیام‌ها از فایل MBox

کلاس MboxrdStorageReader قابلیت خواندن تعداد آیتم‌های موجود در یک فایل MBox را فراهم می‌آورد. این می‌تواند برای توسعه برنامه‌هایی که پیشرفت فعالیت را هنگام پردازش چنین فایلی نشان می‌دهند، استفاده شود.

دریافت اندازه پیام فعلی