Читання повідомлень з Mozilla Thunderbird
Mozilla Thunderbird — популярний відкритий крос‑платформений клієнт електронної пошти, розроблений Mozilla Foundation. Він зберігає листи у власній файловій структурі та керує індексами повідомлень і підпапками за допомогою пропрітарних форматів файлів. Aspose.Email може працювати зі структурами сховища пошти Thunderbird. Зокрема, API містить MboxrdStorageReader клас, який дозволяє розробникам читати повідомлення з файлів сховища пошти Mozilla Thunderbird. У цій статті пояснюється, як читати повідомлення зі сховища електронної пошти Thunderbird за допомогою Aspose.Email.
Як читати повідомлення з файлів MBOX
Щоб читати повідомлення зі сховища пошти Thunderbird, виконайте наступні кроки:
- Відкрийте файл сховища Thunderbird.
- Створіть екземпляр MboxrdStorageReader клас і передайте файловий потік у його конструктор.
- Викличте read_next_message() метод для отримання першого повідомлення.
- Використовуйте цикл while з read_next_message() для ітерації по всіх повідомленнях.
- Закрийте всі файлові потоки після обробки.
Наступний фрагмент коду демонструє, як читати всі повідомлення з файлу сховища пошти Thunderbird:
Отримати властивості електронної пошти з повідомлень MBOX
Aspose.Email надає MboxStorageReader клас для читання повідомлень та MboxLoadOptions клас для завантаження файлів MBOX. 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}")
Витягнути повідомлення за ID з файлів MBOX
Aspose.Email дозволяє витягати повідомлення з файлу MBOX за допомогою entry ID. Наступні методи та властивості полегшують цей процес:
- enumerate_message_info(): Ітерується по кожному повідомленню у файлі MBOX.
- extract_message(): Витягує кожне повідомлення за його Entry ID.
- entry_id: Отримує ідентифікатор запису.
Нижче наведений приклад коду демонструє використання цих можливостей для читання та витягнення повідомлень з MBOX‑файлу:
- Створіть читача MBOX за допомогою MboxStorageReader.create_reader() метод. Вкажіть файл для обробки та передайте MboxLoadOptions для налаштування параметрів завантаження.
- Перерахувати повідомлення, ітеруючись по кожному mbox_message_info шляхом виклику enumerate_message_info() у читача. Це надає доступ до метаданих кожного листа у файлі MBox.
- Витягнути окремі повідомлення. Для кожного запису інформації про повідомлення витягніть сам лист за допомогою методу extract_message(). Передайте entry_id з mbox_message_info та EmlLoadOptions() для налаштування завантаження електронної пошти.
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
The MboxrdStorageReader клас, який забезпечує можливість читати кількість елементів у файлі MBox. Це можна використати для створення додатків, які показують прогрес процесу під час обробки такого файлу.