1. מבוא

GroupDocs.Viewer for .NET מאפשרת לייבא הודעת דוא"ל בכל פורמט פופולרי, להציג אותה ב‑HTML, PNG, JPEG ו‑PDF, וכן לחלץ תכונות בסיסיות של הודעת הדוא"ל ללא צורך ברינדור בפועל.

בפועל, כאשר עובדים עם הודעות דוא"ל ב‑GroupDocs.Viewer, על המשתמשים להיות מודעים לשני סוגים ספציפיים לדוא"ל:

  • מחלקת Options.EmailOptions – מאפשרת לשלוט באופן שבו ההודעה מוצגת (גודל דף, פורמט תאריך, שדות וכו׳).
  • Results.MailMessageViewInfo — נוצר על‑ידי GroupDocs.Viewer לאחר קריאה למתודה GetViewInfo() ומכיל את המטא‑נתונים של הודעת הדוא"ל שהוטענה.

להלן מדריך מהיר שמראה כיצד לרנדר הודעות דוא"ל ולקבל את המטא‑נתונים שלהן.


2. טעינת הודעת דוא"ל ורינדור לכל פורמטי הפלט

דוגמת קוד קצרה מאוד למטה מציגה טעינת הודעת דוא"ל קלט בשם “sample.eml” למופע של מחלקת Viewer ולאחר מכן רינדור לכל ארבעת פורמטי הפלט הנתמכים: HTML, PDF, PNG ו‑JPEG. כפי שניתן לראות, בתחילה נוצרות כל ארבע מחלקות אפשרויות התצוגה, לאחר מכן “sample.eml” נטען למופע Viewer באמצעות נתיב הקובץ, ולבסוף מתבצעות ארבע קריאות ל‑Viewer.View().

using GroupDocs.Viewer;
using GroupDocs.Viewer.Options;


HtmlViewOptions htmlOptions = HtmlViewOptions.ForEmbeddedResources("html-page{0}.html");
PdfViewOptions pdfOptions = new PdfViewOptions("Output.pdf");
PngViewOptions pngOptions = new PngViewOptions("image-page{0}.png");
JpgViewOptions jpegOptions = new JpgViewOptions("image-page{0}.jpeg");

using (Viewer viewer = new Viewer("sample.eml"))
{
    viewer.View(htmlOptions);
    viewer.View(pdfOptions);
    viewer.View(pngOptions);
    viewer.View(jpegOptions);
}

3. כוונון אפשרויות דוא"ל לרינדור

הדוגמה שלמעלה מציגה רינדור כאשר כל האפשרויות מוגדרות לערכי ברירת המחדל שלהן. עם זאת, קיימת מחלקת EmailOptions, והיא זמינה בכל ארבע אפשרויות התצוגה (HtmlViewOptions, PdfViewOptions, PngViewOptions, JpgViewOptions) דרך המאפיין EmailOptions. אין צורך ליצור ידנית מופע של מחלקת EmailOptions ולהקצותו לאפשרויות התצוגה דרך המאפיין – כל זה כבר נעשה, והמשתמש צריך רק להתאים את ערכי המאפיינים במידת הצורך.

להלן מספר מאפיינים במחלקת EmailOptions.

3.1. גודל דף

שולט בגודל דף הפלט. כברירת מחדל הוא Unspecified – GroupDocs.Viewer מתאימה את הגודל למתאים ביותר. ניתן להגדיר זאת כך, לדוגמה:

PdfViewOptions pdfOptions = new PdfViewOptions("Output.pdf");
pdfOptions.EmailOptions.PageSize = PageSize.A1;

3.2. פורמט תאריך ושעה ואזור זמן

להודעות דוא"ל בדרך כלל יש תאריך “נשלח”. המאפיין DateTimeFormat מאפשר לשלוט כיצד ערך תאריך‑שעה זה יעוצב, ו‑TimeZoneOffset מאפשר להחיל שינוי חיובי או שלילי על תאריך‑השעה. דוגמה למטה:

JpgViewOptions jpegOptions = new JpgViewOptions("image-page{0}.jpeg");
jpegOptions.EmailOptions.DateTimeFormat = "MM d yyyy HH:mm tt zzz"; // פורמט מותאם אישית לחלוטין
jpegOptions.EmailOptions.TimeZoneOffset = TimeSpan.FromHours(-5); // מוסיף שינוי של 5 שעות אחורה

אם תשאיר את DateTimeFormat null או מחרוזת ריקה, GroupDocs.Viewer משתמשת בפורמט הנוכחי של המערכת.

3.3. התאמת שדות

הודעת דוא"ל מכילה גוף הודעה ושדות כגון נושא, תאריך‑שעה נשלח, שולח וכו׳. GroupDocs.Viewer מאפשרת למשתמשים לשנות את תוויות השדות דרך המאפיין FieldTextMap, שממפה ערך של enum Field (למשל Field.Subject) לטקסט שמופיע בפלט הרנדור. כך שהמשתמש יכול להחליף כל ערך או להוסיף חדשים:

PngViewOptions pngOptions = new PngViewOptions("image-page{0}.png");
pngOptions.EmailOptions.FieldTextMap[Field.Subject] = "Email Subject";
pngOptions.EmailOptions.FieldTextMap[Field.Sent] = "Mail was sent at";
pngOptions.EmailOptions.FieldTextMap[Field.From] = "Sender";

4. טעינת דוא"ל וקבלת מידע תצוגה

אפשר לקבל חלק מערכי השדות של הודעת הדוא"ל תכנותית ללא רינדור ההודעה עצמה. לשם כך יש לטעון את מסמך הודעת הדוא"ל למופע Viewer ולאחר מכן להשתמש במתודה Viewer.GetViewInfo(), כפי שמוצג למטה:

using System;
using GroupDocs.Viewer;
using GroupDocs.Viewer.Options;
using GroupDocs.Viewer.Results;
// ...

using (Viewer viewer = new Viewer("sample.eml"))
{
    ViewInfo generalInfo = viewer.GetViewInfo(ViewInfoOptions.ForHtmlView());
    // המרה מפורשת
    MailMessageViewInfo mailMessageInfo = (MailMessageViewInfo)generalInfo;
    Console.WriteLine("From: {0}; Subject: {1}; Sent: {2}.", mailMessageInfo.From, mailMessageInfo.Subject, mailMessageInfo.Sent);

    // רינדור לכל פורמט פלט במידת הצורך
    viewer.View(HtmlViewOptions.ForEmbeddedResources());
}

ניתן לראות שמתודת Viewer.GetViewInfo() מחזירה מופע של מחלקת ViewInfo המשותפת, אשר לאחר מכן מומרת למחלקת MailMessageViewInfo. כרגע נתמכים רק השדות From, Subject ו‑Sent.

מאפיין סוג משמעות
Sent DateTime הזמן המדויק שבו נשלח הדוא"ל.
Subject string הטקסט שמופיע בשורת הנושא של הדוא"ל.
From string כתובת האימייל של השולח כמחרוזת פשוטה.

כל שלושת המאפיינים הם לקריאה בלבד.

5. סיכום

  • צור מופע Viewer וציין את קובץ הודעת הדוא"ל הקלט בבנאי שלו באמצעות נתיב או זרם.
  • קרא למתודה Viewer.GetViewInfo ולאחר מכן המר את תוצאתה לסוג MailMessageViewInfo כדי לקבל מטא‑נתונים: השדות Sent, Subject ו‑From.
  • השתמש ב‑EmailOptions כדי לשנות גודל דף, פורמט תאריך, שינוי אזור זמן, או תווית הטקסט המוצגת עבור כל שדה, ולאחר מכן קרא למתודה Viewer.View().

שלבים אלה מספקים את תכונות הדוא"ל המרכזיות ומאפשרים לשלוט באופן שבו ההודעה מוצגת ברינדור. אין צורך בספריות נוספות או בקוד מורכב.

ראה גם

קבל גרסת ניסיון חינם

ניתן להוריד גרסת ניסיון חינם של GroupDocs.Viewer for .NET מ‑releases.groupdocs.com. ניתן גם לקבל רישיון זמני כדי לנסות את כל הפונקציות והיכולות ללא מגבלות מ‑here.