Parse Storage Files

Beragam klien dan platform email sering kali menghasilkan berbagai format penyimpanan email. Di satu sisi, format-format ini dapat menjadi tantangan saat parsing konten. Di sisi lain, mereka tak tergantikan ketika menyangkut penyimpanan data atau pemulihannya jika terjadi kegagalan dengan layanan web. Dalam artikel ini, kita akan menyelidiki masing-masing format ini dan menunjukkan bagaimana Aspose.Email dapat dimanfaatkan untuk mengekstrak, mendaftar, dan mengambil konten email dari lima format file utama.

API C# untuk Memproses File Penyimpanan

Untuk memproses file penyimpanan, kami akan menggunakan API serbaguna yang dirancang untuk menyederhanakan tugas dan interaksi terkait email yang kompleks, memberikan solusi komprehensif untuk manajemen email. Aspose.Email untuk .NET memberdayakan pengembang untuk membuat aplikasi yang berinteraksi dengan data email di berbagai format seperti PST, OST, MBOX, EML, MSG, dan lainnya. Dengan fitur yang kaya dan metode yang ramah pengguna, manipulasi, ekstraksi, dan pengelolaan data email yang disimpan dalam file menjadi mudah dan intuitif. Untuk memanfaatkan kekuatan API, unduh DLL-nya atau instal dari NuGet menggunakan perintah berikut:

PM> Install-Package Aspose.Email

Memproses File Penyimpanan dari Berbagai JenisFormat

Membaca File PST (Personal Storage Table)

PST adalah format file yang digunakan oleh Microsoft Outlook untuk menyimpan email, kontak, kalender, dan data lainnya. Aspose.Email menyederhanakan penanganan file PST dengan menyediakan metode untuk mengekstrak dan mengambil item seperti email, lampiran, dan struktur folder. Dengan menggunakan pustaka ini, pengembang dapat mengakses konten PST secara programatis, mencari item tertentu, dan mengekspornya ke berbagai format. Dalam contoh kode dengan langkah-langkah di bawah ini, Anda akan melihat cara membaca file dalam format PST:

  1. Untuk memulai, muat file pst menggunakan metode FromFile dari kelas PersonalStorage.
  2. Akses folder “Inbox” dalam PST dengan menggunakan metode GetSubfolder() pada properti RootFolder dari objek pst.
  3. Iterasi melalui setiap pesan di folder menggunakan metode EnumerateMessages() pada objek folder.
  4. Ekstrak pesan dengan menggunakan metode ExtractMessage() pada objek pst, dengan melewatkan properti EntryIdString dari setiap objek msgInfo.
  5. Akses konten pesan:
    • Dapatkan subjek pesan dengan menggunakan properti Subject dari objek msg.
    • Dapatkan alamat pengirim pesan dengan menggunakan properti SenderEmailAddress dari objek msg.
    • Dapatkan isi pesan dengan menggunakan properti Body dari objek msg.
// Load the PST file
using (var pst = PersonalStorage.FromFile(filename)
{
// Access the desired folder within the PST
var folder = pst.RootFolder.GetSubfolder("Inbox");
// Enumerate and list messages in the folder
foreach(var msgInfo in folder.EnumerateMessages())
{
var msg = pst.ExtractMessage(msgInfo.EntryIdString);
//Access the contents of the message
// Get subject
Console.WriteLine("Subject:" + msg.Subject);
// Get from address
Console.WriteLine("From:" + msg.SenderEmailAddress);
// Get body
Console.WriteLine("Body" + msg.Body);
}
}

Membaca File OST (Outlook Offline Storage Table)

File OST berfungsi sebagai salinan offline dari data kotak surat dari Microsoft Exchange. Aspose.Email memungkinkan ekstraksi data dari file OST, memungkinkan pengembang untuk mengambil email, folder, dan lampiran. Ini sangat berguna saat membuat solusi cadangan atau migrasi data antara platform yang berbeda. Sekumpulan fitur yang digunakan dalam parsing file OST adalah identik dengan yang digunakan untuk PST, jadi Anda dapat menggunakan contoh kode di atas dengan menentukan jalur yang benar ke file OST.

Membaca File OLM (Outlook for Mac Archive)

OLM adalah format penyimpanan yang digunakan oleh Microsoft Outlook untuk Mac untuk menyimpan email, kontak, dan data lainnya. Dengan Aspose.Email, pengembang dapat mengekstrak konten dari file OLM, termasuk email dan lampiran. Fungsionalitas ini sangat berharga untuk migrasi data lintas platform atau untuk membuat sistem cadangan. Contoh kode berikut dan langkah-langkah ini akan menunjukkan kepada Anda cara memanfaatkan API untuk mengurai file Outlook untuk Mac:

  1. Buat instance dari kelas OlmStorage dan muat file OLM menggunakan konstruktor.
  2. Akses folder “Inbox” dalam OLM dengan menggunakan metode GetFolder() pada objek olm, melewatkan nama folder sebagai “Inbox” dan menentukan untuk membuat folder jika belum ada.
  3. Iterasi melalui setiap pesan di folder menggunakan metode EnumerateMessages() pada objek folder.
  4. Ekstrak pesan dengan menggunakan metode ExtractMapiMessage() pada objek olm, melewatkan objek msgInfo.
  5. Akses konten pesan:
    • Dapatkan subjek pesan dengan menggunakan properti Subject dari objek msg.
    • Dapatkan alamat pengirim pesan dengan menggunakan properti SenderEmailAddress dari objek msg.
    • Dapatkan isi pesan dengan menggunakan properti Body dari objek msg.
// Load the OLM file
using (var olm = new OlmStorage(filename))
{
// Access the desired folder within the OLM
var folder = olm.GetFolder("Inbox", true);
// Enumerate and list messages in the folder
foreach (var msgInfo in folder.EnumerateMessages())
{
var msg = olm.ExtractMapiMessage(msgInfo);
//Access the contents of the message
// Get subject
Console.WriteLine("Subject:" + msg.Subject);
// Get from address
Console.WriteLine("From:" + msg.SenderEmailAddress);
// Get body
Console.WriteLine("Body" + msg.Body);
}
}

Membaca File MBOX (Mailbox)

MBOX adalah format yang banyak digunakan untuk menyimpan pesan email. Format ini didukung oleh banyak klien dan platform email. Aspose.Email memungkinkan ekstraksi dan pengambilan email serta lampiran dari file MBOX, memungkinkan pengembang untuk bekerja dengan data email secara programatik. Cobalah potongan kode berikut untuk mengurai file mbox:

  1. Muat file MBOX menggunakan metode CreateReader() dari kelas MboxStorageReader dengan MboxLoadOptions.
  2. Iterasi melalui setiap pesan di mbox menggunakan metode EnumerateMessageInfo() pada objek mbox.
  3. Ekstrak konten pesan dari mbox dengan menggunakan metode ExtractMessage() pada objek mbox, melewatkan EntryId dan EmlLoadOptions.
  4. Akses konten pesan:
    • Dapatkan subjek pesan dengan menggunakan properti Subject dari objek eml.
    • Dapatkan alamat pengirim pesan dengan menggunakan properti From dari objek eml.
    • Dapatkan isi pesan dengan menggunakan properti Body dari objek eml.
// Load the MBOX file
using (var mbox = MboxStorageReader.CreateReader(fileName, mboxLoadOptions))
{
// Enumerate and list messages in the folder
foreach (var msgInfo in mbox.EnumerateMessageInfo())
{
var eml = mbox.ExtractMessage(messageInfo.EntryId, emlLoadOptions);
//Access the contents of the message
// Get subject
Console.WriteLine("Subject:" + eml.Subject);
// Get from address
Console.WriteLine("From:" + eml.From);
// Get body
Console.WriteLine("Body" + eml.Body);
}
}

Membaca File TGZ (Compressed Tar Archive)

TGZ adalah format arsip terkompresi yang sering digunakan untuk menyimpan data cadangan email di klien email Zimbra. Aspose.Email memungkinkan ekstraksi konten email dari file TGZ, sehingga memungkinkan akses dan manipulasi data email yang terkandung dalam arsip ini. Potongan kode berikut dan langkah-langkah ini akan menunjukkan kepada Anda cara membaca file tgz:

  1. Buat instance dari kelas TgzReader dan muat file TGZ menggunakan konstruktor.
  2. Iterasi melalui setiap item di folder ‘Inbox’ menggunakan metode ReadNextMessage() pada objek folder.
  3. Ekstrak konten pesan dari setiap item dengan menggunakan properti CurrentMessage.
  4. Lakukan tindakan yang diinginkan dengan konten pesan yang diekstrak.
using (var tgzReader = new TgzReader(fileName))
{
while (reader.ReadNextMessage())
{
if (reader.CurrentDirectory == "Inbox")
{
var eml = reader.CurrentMessage;
//Access the contents of the message
// Get subject
Console.WriteLine("Subject:" + eml.Subject);
// Get from address
Console.WriteLine("From:" + eml.From);
// Get body
Console.WriteLine("Body" + eml.Body);
}
}
}

Kesimpulan

Dalam artikel ini, kami menjelajahi cara menangani file penyimpanan dari format yang paling populer secara programatik di C#. Contoh kode intuitif kami menunjukkan kepada Anda cara mengimplementasikan kemampuan dasar dalam proyek Anda. Memuat, mendaftar, dan mengakses konten file penyimpanan kini lebih mudah dengan Aspose.Email untuk .NET. API ini menyediakan cara yang mulus untuk mengintegrasikan fungsionalitas terkait email ke dalam aplikasi .NET Anda. Pelajari lebih lanjut tentang apa yang dapat ditawarkan pustaka ini dari dokumentasi kami. Jangan ragu untuk menghubungi kami di forum dukungan gratis kami, jika Anda memerlukan bantuan atau saran.

Lihat Juga