Memuat dan Mengurai File MSG
Dengan menggunakan Aspose.Email untuk .NET, pengembang dapat memuat serta mengurai konten dari file pesan Outlook.
- Untuk memuat file MSG dari disk, gunakan yang statis MapiMessage.Load metode dari MapiMessage kelas. Kelas ini menyediakan beberapa fungsi pemuatan statis untuk berbagai skenario.
- Untuk mengurai isi file MSG, MapiMessage menyajikan sejumlah metode dan properti.
Dalam artikel ini Anda akan mempelajari cara memuat dan mengurai file MSG untuk menampilkan isinya. Contoh kode beserta langkah-langkahnya akan memberi Anda pemahaman yang jelas tentang cara mengimplementasikan fungsi memuat dan mengurai file MSG Outlook dalam proyek Anda.
Pertama, pelajari cara memuat file MSG dari file atau dari stream.
Muat File MSG
Cuplikan kode berikut menunjukkan cara memuat file MSG.
// Create an instance of MapiMessage from file
var msg = MapiMessage.Load(@"message.msg");
// Get subject
Console.WriteLine("Subject:" + msg.Subject);
// Get from address
Console.WriteLine("From:" + msg.SenderEmailAddress);
// Get body
Console.WriteLine("Body" + msg.Body);
// Get recipients information
Console.WriteLine("Recipient: " + msg.Recipients);
// Get attachments
foreach (var att in msg.Attachments)
{
Console.Write("Attachment Name: " + att.FileName);
Console.Write("Attachment Display Name: " + att.DisplayName);
}
Contoh kode berikut menunjukkan cara menggunakan MailMessage untuk memuat pesan dalam format MSG.
var eml = MailMessage.Load("message.msg");
Perlu dicatat bahwa pesan yang dihasilkan dikonversi ke format EML, termasuk lampiran pesan yang disematkan. Jangan gunakan metode pemuatan ini jika Anda ingin mempertahankan beberapa properti format msg tertentu dari pesan asli.
Untuk mempertahankan format asli lampiran pesan yang disematkan, gunakan msgLoadOptions.PreserveEmbeddedMessageFormat properti.
var msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.PreserveEmbeddedMessageFormat = true;
var msg = MailMessage.Load(stream, msgLoadOptions);
Muat dari Stream
Potongan kode berikut menunjukkan cara memuat file dari stream.
// Create an instance of MapiMessage from file
byte[] bytes = File.ReadAllBytes(@"message.msg");
using (MemoryStream stream = new MemoryStream(bytes))
{
stream.Seek(0, SeekOrigin.Begin);
// Create an instance of MapiMessage from file
MapiMessage msg = MapiMessage.Load(stream);
// Get subject
Console.WriteLine("Subject:" + msg.Subject);
// Get from address
Console.WriteLine("From:" + msg.SenderEmailAddress);
// Get body
Console.WriteLine("Body" + msg.Body);
}
Konversi EML ke MSG dengan Mempertahankan Format EML Tertanam
File EML dapat dimuat ke dalam MapiMessage kelas dengan menginstansiasi sebuah MailMessage objek dan melewatkannya ke MapiMessage.FromMailMessage metode. Jika file EML berisi file EML yang disematkan, gunakan MapiConversionOptions.PreserveEmbeddedMessageFormat untuk mempertahankan format file EML yang disematkan. Cuplikan kode di bawah ini menunjukkan cara memuat file EML ke dalam MapiMessage sementara mempertahankan format file EML yang disematkan.
// Load the EML file into a MailMessage object
var mailMessage = MailMessage.Load(emlFilePath);
// Set conversion options to preserve the format of embedded EML messages
var options = new MapiConversionOptions
{
PreserveEmbeddedMessageFormat = true
};
// Convert MailMessage to MapiMessage, preserving embedded EML files
var mapiMessage = MapiMessage.FromMailMessage(mailMessage, options);
// Save the converted message in MSG format
mapiMessage.Save(msgFilePath);
Coba sekarang!
Konversi email & arsip pesan secara online dengan gratis Aplikasi Konversi Aspose.Email.
Urai File Pesan Outlook
Aspose.Email untuk .NET menyediakan MapiMessage kelas yang digunakan untuk membuka dan mengurai file MSG. Karena mungkin ada banyak penerima dalam file MSG, MapiMessage kelas mengekspos Penerima properti yang mengembalikan sebuah MapiRecipientCollection yang mewakili koleksi MapiRecipient objek. The MapiRecipient objek selanjutnya menyediakan metode untuk bekerja dengan atribut penerima.
Urutan langkah berikut melayani tujuan ini:
- Buat sebuah instansi dari MapiMessage kelas menggunakan MapiMessage.Load metode statis.
- Tampilkan nama pengirim, subjek, dan isi dari file MSG menggunakan SenderName, Subject dan Body properti.
- Gunakan Penerima properti untuk mendapatkan referensi ke koleksi MapiRecipient objek yang terkait dengan file MSG.
- Lakukan perulangan pada MapiRecipientCollection koleksi untuk menampilkan konten untuk setiap MapiRecipient objek melalui metode publiknya.
//Instantiate an MSG file to load an MSG file from disk
var outlookMessageFile = MapiMessage.Load(dataDir + "message.msg");
//Display sender's name
Console.WriteLine("Sender Name : " + outlookMessageFile.SenderName);
//Display Subject
Console.WriteLine("Subject : " + outlookMessageFile.Subject);
//Display Body
Console.WriteLine("Body : " + outlookMessageFile.Body);
//Display Recipient's info
Console.WriteLine("Recipients : \n");
//Loop through the recipients collection associated with the MapiMessage object
foreach (var rcp in outlookMessageFile.Recipients)
{
//Display recipient email address
Console.WriteLine("Email : " + rcp.EmailAddress);
//Display recipient name
Console.WriteLine("Name : " + rcp.DisplayName);
//Display recipient type
Console.WriteLine("Recipient Type : " + rcp.RecipientType);
}
Coba sekarang!
Urai file email secara daring dengan gratis Aspose.Email Parser App.