חילוץ תוכן הודעת דוא"ל ב‑C#
הצגת מידע דוא"ל
ה MailMessage מייצג הודעת דוא"ל ומאפשר למפתחים לגשת למאפייני הודעת הדוא"ל. מידע הכותרת (שנדון ב- חילוץ כותרות הודעת דוא"ל) ניתן לחלץ ולבצע מניפולציות בדרכים שונות. מאמר זה מסביר כיצד להציג מידע נבחר מכותרות הדוא"ל וגוף ההודעה על המסך. כדי להציג מידע דוא"ל על המסך, פעל לפי הצעדים הבאים:
- צור מופע של MailMessage מחלקה.
- טען הודעת אימייל לתוך ה MailMessage מופע.
- הצג את תוכן הודעת הדוא"ל על המסך.
קטע הקוד הבא מציג כיצד להציג מידע דוא"ל על המסך.
// Create MailMessage instance by loading an Eml file
var message = MailMessage.Load("test.eml", new EmlLoadOptions());
// Gets the sender info, recipient info, Subject, htmlbody and textbody
Console.Write("From:");
Console.WriteLine(message.From);
Console.Write("To:");
Console.WriteLine(message.To);
Console.Write("Subject:");
Console.WriteLine(message.Subject);
Console.WriteLine("HtmlBody:");
Console.WriteLine(message.HtmlBody);
Console.WriteLine("TextBody");
Console.WriteLine(message.Body);
חילוץ כותרות דוא"ל
כותרת ההודעה מייצגת סט של שדות כותרת המוגדרים על‑ידי אינטרנט ו‑RFC ונכללים בהודעות דוא"ל באינטרנט. ניתן להגדיר כותרת הודעה באמצעות ה- MailMessage class. סוגי כותרות נפוצים מוגדרים ב‑ HeaderType מחלקה. זו מחלקה sealed הפועלת כמו מונה רגיל. כדי לחלץ כותרות מדוא"ל, פעל לפי הצעדים הבאים:
- צור מופע של MailMessage מחלקה.
- טען הודעת אימייל במופע של MailMessage מחלקה.
- לאחר שהודעת אימייל נטענה, נקבל את התוכן הגולמי שלה.
ה MailMessage class עצמו מכיל תכונות כגון From, To, Cc, Subject ועוד. ניתן לחלץ תכונות אלו מהכותרות.
קטע הקוד הבא מראה לך כיצד לחלץ כותרות דוא"ל.
קבלת ערכי כותרת מפוענחים
קטע הקוד הבא מראה לך כיצד לקבל ערכי כותרת מפוענחים.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
MailMessage mailMessage = MailMessage.Load(dataDir + "emlWithHeaders.eml");
string decodedValue = mailMessage.Headers.GetDecodedValue("Thread-Topic");
Console.WriteLine(decodedValue);
חילוץ גוף הודעת דוא"ל
קבלת גוף טקסט רגיל
ה גוף מאפיין מחזיר ייצוג טקסט רגיל של גוף הודעה.
string plainTextBody = mailMessage.Body;
הערה: אם חלק MIME text/plain קיים בהודעה, המאפיין מחזיר את הנתונים הטקסטיים שלו. אחרת, הוא מחזיר את תוכן הטקסט המופרד מה‑ HtmlBody מאפיין ללא תגי HTML.
קבלת גוף HTML כתמליל רגיל
ה MailMessage המחלקה מספקת את היכולת לחלץ את גוף ה‑HTML של ההודעה כתמליל רגיל. ה MailMessage מחלקה מספקת GetHtmlBodyText מתודה שמחזירה את גוף ה‑HTML בתמליל רגיל. מתודה זו מנתחת את HtmlBody מאפיין ומחזיר תוכן טקסט רגיל מופרד תוך התעלמות מתגי HTML. ה GetHtmlBodyText המתודה מקבלת פרמטר בוליאני שמציין האם הגוף צריך לכלול כתובות URL או לא. העברת הפרמטר כ‑true מציינת שהגוף HTML צריך לכלול כתובות URL.
קטע הקוד הבא מדגים את השימוש ב‑ GetHtmlBodyText מתודה לחילוץ גוף HTML של ההודעה כתמליל רגיל.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();
MailMessage mail = MailMessage.Load(dataDir + "HtmlWithUrlSample.eml");
string body_with_url = mail.GetHtmlBodyText(true);// body will contain URL
string body_without_url = mail.GetHtmlBodyText(false);// body will not contain URL
Console.WriteLine("Body with URL: " + body_with_url);
Console.WriteLine("Body without URL: " + body_without_url);
גישה לכתובת Exchange X.500
ה MailAddress מחלקה מכילה את X500Address מאפיין שנבנה לחשוף כתובות X.500 בפורמט Exchange אם קיימות בהודעה. הוא מספק גישה לקריאה בלבד למחרוזת כתובת X.500 (Exchange) עבור MailAddress מתקיימים ומחזירים את כתובת X.500 אם היא כלולה במידע המטה של ההודעה, אחרת מחזירים null או ריק. אין צורך בפרסינג — המאפיין מחזיר את מחרוזת ה‑X.500 הגולמית.
var mailMessage = MailMessage.Load(fileName);
string exaddr = mailMessage.From.X500Address;