טעינה ופענוח קבצי MSG
ב‑Aspose.Email for .NET, מפתחים יכולים לטעון ולפענח תכנים מקבצי הודעות Outlook.
- כדי לטעון קבצי MSG מהדיסק, השתמשו בסטטיק MapiMessage.Load שיטה של MapiMessage מחלקה. המחלקה מספקת מספר פונקציות טעינה סטטיות לתרחישים שונים.
- כדי לפענח את תוכן קובץ MSG, ה- MapiMessage חשוף מספר מתודות ומאפיינים.
במאמר זה תלמדו כיצד לטעון ולפענח קובץ MSG כדי להציב את תכולתו. דוגמות קוד עם שלבים יעניקו לכם הבנה ברורה כיצד ליישם את הפונקציונליות של טעינה ופענוח קבצי Outlook MSG בפרויקט שלכם.
ראשית, למדו כיצד לטעון קבצי MSG מקובץ או מהזרם.
טעינת קבצי MSG
הקטע הקוד שלהלן מציג כיצד לטעון קבצי 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);
}
דוגמת הקוד הבאה מראה כיצד להשתמש ב‑MailMessage לטעון הודעה בפורמט MSG.
var eml = MailMessage.Load("message.msg");
יש לציין שההודעה המתקבלת מומרת לפורמט EML, כולל קבצי ההודעה המשובצים. אל תשתמש בשיטת טעינה זו אם ברצונך לשמר תכונות פורמט msg ספציפיות של ההודעה המקורית.
כדי לשמר את הפורמט המקורי של קבצי ההודעה המשובצים, השתמש ב‑ msgLoadOptions.PreserveEmbeddedMessageFormat מאפיין.
var msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.PreserveEmbeddedMessageFormat = true;
var msg = MailMessage.Load(stream, msgLoadOptions);
טעינה מהזרם
קטע הקוד הבא מראה כיצד לטעון קובץ מזרם.
// 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);
}
המרת EML ל‑MSG תוך שמירת פורמט ה‑EML המשובץ
קבצי EML ניתנים לטעינה לתוך MapiMessage מחלקה על‑ידי יצירת מופע של MailMessage אובייקט ולהעבירו ל‑ MapiMessage.FromMailMessage שיטה. אם קובץ ה‑EML מכיל קבצי EML משובצים, השתמש ב‑ MapiConversionOptions.PreserveEmbeddedMessageFormat כדי לשמור על הפורמט של קבצי EML משובצים. הקטע הקוד שלהלן מציג כיצד לטעון קבצי EML לתוך MapiMessage במקביל לשימור הפורמט של קבצי EML משובצים.
// 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);
נסו זאת!
המרת אימיילים וארכיוני הודעות באופן מקוון בחינם יישום המרה של Aspose.Email.
פענוח קבצי הודעות Outlook
Aspose.Email for .NET מספק את MapiMessage מחלקה המשמשת לפתיחה וניתוח קובץ MSG. מכיוון שיכולים להיות רבים ממקבלי ההודעה בקובץ MSG, ה- MapiMessage המחלקה מציגה את נמענים מאפיין המחזיר MapiRecipientCollection שמייצג אוסף של MapiRecipient אובייקטים. ה- MapiRecipient האובייקט חשוף עוד שיטות לעבודה עם תכונות הנמענים.
הסדרת הצעדים הבאים משמשת למטרה זו:
- צור מופע של MapiMessage מחלקה באמצעות ה- MapiMessage.Load מתודה סטטית.
- הצג את שם השולח, הנושא והגוף מקובץ MSG באמצעות SenderName, נושא ו גוף מאפיינים.
- השתמש ב- נמענים מאפיין לקבלת הפנייה לאוסף של MapiRecipient אובייקטים הקשורים לקובץ MSG.
- לולאה על ה- MapiRecipientCollection אוסף להצגת תוכן עבור כל MapiRecipient אובייקט דרך המתודות הציבוריות שלו.
//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);
}
נסו זאת!
פענח קבצי דוא"ל אונליין בחינם אפליקציית Aspose.Email Parser.