Pemrograman dengan Thunderbird

Membaca Pesan

Mozilla Thunderbird adalah klien email sumber terbuka lintas platform, dikembangkan oleh Mozilla Foundation. Ia menyimpan email dalam struktur file miliknya, mengelola indeks pesan dan subfolder melalui format file proprietari. Aspose.Email dapat bekerja dengan struktur penyimpanan email Thunderbird. Kelas MboxrdStorageReader memungkinkan pengembang membaca pesan dari file penyimpanan mail Thunderbird. Artikel ini menunjukkan cara membaca pesan dari penyimpanan email Thunderbird:

  1. Buka file penyimpanan Thunderbird
  2. Buat instance kelas MboxrdStorageReader dan berikan stream di atas ke konstruktor.
  3. Panggil read_next_message() untuk mendapatkan pesan pertama.
  4. Gunakan read_next_message() yang sama dalam loop while untuk membaca semua pesan.
  5. Tutup semua aliran.

Potongan kode berikut menunjukkan cara membaca semua pesan dari penyimpanan email Thunderbird.

Mengambil properti pesan

Untuk membaca dan mengambil informasi dari file Mbox, Aspose.Email menyediakan MboxStorageReader kelas untuk membuat objek pembaca untuk file Mbox dan MboxLoadOptions kelas untuk memuat file. Properti berikut dari MboxMessageInfo kelas dapat digunakan untuk mengakses dan menampilkan detail pesan tertentu:

  • ‘date’ - Mendapatkan tanggal pesan.
  • ‘from_address’ - Mendapatkan alamat pengirim.
  • ‘subject’ - Mendapatkan subjek pesan.
  • ’to’ - Mendapatkan koleksi alamat yang berisi penerima pesan.
  • ‘cc’ - Mendapatkan koleksi alamat yang berisi penerima CC.
  • ‘bcc’ - Mendapatkan koleksi alamat yang berisi penerima BCC dari pesan.

Contoh kode berikut menunjukkan penggunaan properti ini untuk membaca dan mengekstrak informasi pesan dari file 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}")

Ekstrak Pesan dari MBOX berdasarkan Pengidentifikasi

Untuk membaca pesan dari file MBOX, Aspose.Email menyediakan metode ‘create_reader()’ dari MboxStorageReader kelas untuk membuat objek pembaca untuk file. Ia menerima nama file dan MboxLoadOptions sebagai argumen, memungkinkan pengguna memuat file MBOX dengan opsi spesifik bila diperlukan.

Untuk mengekstrak pesan, metode dan properti berikut digunakan:

  • metode ’enumerate_message_info()’ dari MboxStorageReader kelas - Mengiterasi setiap pesan dalam file MBOX.
  • metode ’extract_message()’ dari MboxStorageReader kelas - Mengekstrak setiap pesan berdasarkan Entry ID-nya.
  • properti ’entry_id’ dari MboxMessageInfo kelas - Mendapatkan pengidentifikasi entri.

Akhirnya, pesan dikonversi ke format EML menggunakan EmlLoadOptions.

Contoh kode di bawah ini menunjukkan penggunaan fitur tersebut untuk membaca dan mengekstrak pesan dari file 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())

Mengonfigurasi opsi pemuatan saat membaca pesan dari MBOX

Dengan Aspose.Email EmlLoadOptions kelas, Anda dapat menentukan opsi tambahan saat memuat MailMessage dari format Eml. Sebagai contoh, Anda dapat mengatur opsi untuk mempertahankan lampiran TNEF saat memuat file EML dengan properti ‘preserve_tnef_attachments’ dari EmlLoadOptions kelas.

Anda dapat membaca pesan email berikutnya dari file mbox menggunakan opsi pemuatan yang ditentukan dengan metode ‘read_next_message’ dari MboxStorageReader kelas dan mengonversi file ke format PST dengan metode ‘mbox_to_pst’ dari MailStorageConverter kelas .

Contoh kode di bawah ini menunjukkan penggunaan metode dan properti ini untuk bekerja dengan file penyimpanan email, termasuk membaca pesan dari format mbox, mempertahankan lampiran TNEF, dan mengonversi pesan dari format mbox ke 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")

Menetapkan Pengkodean Teks yang Diutamakan saat Memuat File Mbox untuk Membaca

Anda dapat menentukan pengkodean teks yang akan digunakan saat memuat file MBOX. Properti ‘preferred_text_encoding’ tersedia untuk MboxLoadOptions kelas menetapkan opsi tambahan dan memastikan bahwa pesan dengan konten terenkode akan dibaca dan diproses dengan benar.

Potongan kode berikut menunjukkan cara menggunakan fitur ini dalam sebuah proyek:

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()

Mengonversi MBOX ke PST dengan Mempertahankan atau Menghapus Tanda Tangan

Untuk menghapus tanda tangan dari file selama proses konversi, set properti MboxToPstConversionOptions.remove_signature menjadi true.

Contoh kode berikut menunjukkan cara memanfaatkan properti ini:

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)

Kelas MboxrdStorageWriter menyediakan fasilitas untuk menulis pesan baru ke file penyimpanan mail Thunderbird. Untuk menulis pesan:

  1. Buka file penyimpanan Thunderbird dalam FileStream.
  2. Buat instance kelas MboxrdStorageWriter dan berikan stream di atas ke konstruktor.
  3. Siapkan pesan baru menggunakan kelas MailMessage.
  4. Panggil metode write_message() dan berikan instance MailMessage di atas untuk menambahkan pesan ke penyimpanan Thunderbird.
  5. Tutup semua aliran.

Potongan kode berikut menunjukkan cara menulis pesan ke penyimpanan email Thunderbird.

Mendapatkan Jumlah Total Pesan dari File MBox

Kelas MboxrdStorageReader menyediakan kemampuan untuk membaca jumlah item yang tersedia dalam file MBox. Ini dapat digunakan untuk mengembangkan aplikasi yang menampilkan kemajuan aktivitas saat memproses file semacam itu.

Dapatkan Ukuran Pesan Saat Ini