טיפול בקבצי מצורף TNEF בהודעות דוא"ל

TNEF (Transport Neutral Encapsulation Format) הוא פורמט קנייני המשמש את Microsoft Outlook לעלקת תוכן עשיר בקבצים מצורפים – לרוב מאוחסן כ‑winmail.dat. ה‑API של Aspose.Email מאפשר לך לקרוא הודעות דוא"ל שמכילות מצורפי TNEF ולשנות את תוכן המצורף. לאחר מכן ניתן לשמור את הדוא"ל כהודעה רגילה או באותו פורמט, תוך שמירת מצורפי TNEF. מאמר זה מציג דוגמאות קוד שונות לעבודה עם הודעות המכילות מצורפי TNEF. המאמר גם מציג כיצד ליצור קבצי EML עם TNEF מקבצי MSG של Outlook.

קריאת הודעה עם מצורף TNEF

קטע הקוד הבא מציג כיצד לקרוא הודעה תוך שימור מצורפי TNEF.

קריאת הודעה ללא מצורף TNEF

קטע הקוד הבא מציג כיצד לקרוא הודעה ללא שמירת מצורפי TNEF.

טעינה ושמירה של קבצים מצורפים TNEF

עם Aspose.Email עבור .NET, ניתן לטעון מצורפי TNEF ישירות לתוך MapiAttachment אובייקט באמצעות נתיב קובץ או stream, ולאחר מכן לשמור את האובייקט בפורמט TNEF. פעולה זו מאפשרת יצירת קבצי winmail.dat או שמירת עיצוב ייחודי של Outlook בעבודות דוא"ל.

ה‑API מספק את החברים הבאים ב‑ MapiAttachment מחלקה:

טעינת מצורפי TNEF

שמירת מצורפי TNEF

דוגמת הקוד למטה מציגה כיצד לחלץ מצורף winmail.dat מהודעת דוא"ל, לשמר אותו ולהוסיף אותו מחדש כמצרוף להודעה:

// message.eml contains a winmail.dat attachment, but by default, the attachment is not preserved.
var msg = MapiMessage.Load("message.eml");

var ms = new MemoryStream();
msg.Attachments[0].SaveToTnef("winmail.dat");

ms.Position = 0;
var fromtnefAttachment = MapiAttachment.LoadFromTnef(ms);
msg.Attachments.Add(fromtnefAttachment);

fromtnefAttachment = MapiAttachment.LoadFromTnef("winmail.dat");
msg.Attachments.Add(fromtnefAttachment);

עדכון משאבים במצורף TNEF

קוד הדוגמה הבא מציג כיצד לעדכן משאבים במצורף TNEF ולשמר את פורמט TNEF.

הוספת מצורף להודעת TNEF

קטע הקוד הבא מציג כיצד להוסיף מצורפים חדשים להודעה הראשית הכוללת TNEF.

יצירת TNEF EML מתוך MSG

קבצי Outlook MSG לעיתים מכילים מידע כגון טבלאות וסגנונות טקסט שעלולים להשתבש אם הם מומרצים ל‑EML. יצירת הודעות TNEF מקבצים כאלה מאפשרת לשמור על העיצוב ואפילו לשלוח הודעות כאלה דרך לקוחות דוא"ל תוך שמירת העיצוב. ה MailConversionOptions.ConvertAsTnef מאפיין משמש להשגת זאת. קטע הקוד הבא מציג כיצד ליצור קובץ EML עם TNEF מ‑MSG.

ליצירת TNEF, ניתן להשתמש בקוד הדוגמה הבא.

זיהוי הודעות בפורמט TNEF

קטע הקוד הבא מציג כיצד לזהות אם הודעה היא TNEF.

זיהוי מצורפים בפורמט TNEF

ה Attachment.IsTnef מאפיין מאפשר לזהות האם מצורף ההודעה הוא הודעה בפורמט TNEF.

var eml = MailMessage.Load(fileName);

foreach (attachment in eml.Attachments)
{
    Console.WriteLine($"Is Attachment TNEF?: {attachment.IsTnef}");
}