Convert EML to HTML
Convert EML to HTML
להטמעת תוכן אימייל באפליקציות אינטרנט, המרת EML ל‑HTML היא הבחירה הנכונה, המשפרת הצגת אימיילים בצורה ויזואלית מושכת.
להמרת EML ל‑HTML, תצטרך את המחלקות הבאות:
- MailMessage מחלקה המשמשת ליצירת אובייקט המייצג הודעת דוא"ל. היא מאפשרת גישה למאפייני ההודעה, כגון נושא, גוף, שולח וכתובות נמענים, וכו’. עם השיטות שלה, ניתן ליצור, לטעון ולנתח, לשנות, לשמור אימיילים או לבצע מניפולציות אחרות עליהם.
- SaveOptions מחלקה המספקת אפשרויות לשמירת הודעות דוא"ל בפורמטים שונים. היא מאפשרת למשתמשים להתאים את האופן שבו הודעות דוא"ל נשמרות בפורמטים שונים. עם מחלקה זו, משתמשים יכולים לציין אפשרויות לשמירת קבצים מצורפים, כותרות, מטה-דאטה, ותכונות של הודעות דוא"ל, להגדיר אפשרויות קידוד או לבחור אם לשמור הודעות עם הצפנה או לא.
בקוד הדוגמה שלהלן מחלקות אלו עובדות יחד לטעון קובץ EML קיים ולציין את פורמט ההודעה כ‑EML. לאחר מכן, הן שומרות את הודעת האימייל הטעונה כקובץ HTML באמצעות אפשרויות השמירה של HTML המוגדרות בברירת המחדל:
- השתמש ב- MailMessage.Load() שיטה לטעון את הקובץ הקיים לאובייקט MailMessage תוך ציון פורמט ההודעה.
- שמור את אובייקט MailMessage הטעון כקובץ HTML באמצעות ה‑ שמירה שיטה. השתמש ב‑ SaveOptions.DefaultHtml() לציין את אפשרויות השמירה עבור פורמט HTML.
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
message.Save("output.html", SaveOptions.DefaultHtml);
Save EML Resources in a Separate File
Aspose.Email מספקת את ResourceRenderingMode enumeration המאפשרת למפתחים לנהל משאבים בקובץ HTML. בקוד הדוגמה שלהלן, enum זה משמש לשמירת משאבים לקובץ והוספת תג ‘src’ ב‑HTML עם הנתיב לקובץ זה:
- טען את הודעת האימייל מקובץ המקור באמצעות ה‑ MapiMessage.Load שיטה.
- צור מופע של HtmlSaveOptions עם אפשרויות הצגה ומשאבים שצוינו.
- שמור את הודעת האימייל שהוטענה כקובץ HTML למיקום היעד באמצעות ה‑ שמור שיטה עם הפרמטר HtmlSaveOptions.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
UseRelativePathToResources = true
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Embed Resources to an HTML File
במקרים מסוימים, נדרש לשבץ משאבים, כגון תמונות, ישירות בתוך קובץ HTML להפצה והצגה חלקה. עם Aspose.Email for .NET, ניתן בקלות להשיג זאת באמצעות ה‑ ResourceRenderingMode enumeration:
- טען את הודעת האימייל מקובץ המקור באמצעות ה‑ MapiMessage.Load שיטה.
- צור חדש HtmlSaveOptions אובייקט והגדר את המאפיין ResourceRenderingMode ל‑EmbedIntoHtml.
- שמור את הודעת האימייל שהוטענה כקובץ HTML באמצעות ה‑ שמור שיטה, המציינת את נתיב הקובץ היעד וקוראת לאובייקט HtmlSaveOptions כפרמטר כדי לשלב משאבים בקובץ HTML.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Convert EML to ICS
קוד הדוגמה הבא מדגים כיצד לחלץ נתוני אירועי לוח שנה מקובץ EML ולשמור אותם לקובץ ICS נפרד לשימוש או מניפולציה נוספים.
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, save it to a file
if (icsView != null)
{
File.WriteAllText("appointment.ics", icsView);
}
התאמה אישית
Aspose.Email for .NET מספקת כלי להתאמה של תוכן ICS (iCalendar) המופק מקבצי EML (דואר אלקטרוני).
Customize the event details
קוד הדוגמה הבא מדגים כיצד להגדיר פרטים שונים של הפגישה, כגון סיכום, מיקום ותיאור. הקוד משתמש ב‑ Appointment מחלקה המייצגת פגישות או אירועי לוח שנה בפורמט ICS (iCalendar). המחלקה מספקת מאפיינים ושיטות ליצירה, שינוי וניהול אירועי לוח שנה בתכנות.
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, load it to Appointment class object
var appointment = Appointment.Load(new MemoryStream(Encoding.UTF8.GetBytes(icsView)));
// Customize the event details
appointment.Summary = "Customized Event Summary";
appointment.Location = "Customized Location";
appointment.Description = "Customized Event Description";
// Add or modify attendees as needed
appointment.Attendees.Clear();
appointment.Attendees.Add("custom@example.com");
// Save the customized ICS content to a file
appointment.Save("customized_appointment.ics");
Create a recurrence pattern
קוד הדוגמה הבא מדגים כיצד ליצור תבנית חזרתיות שבועית לפגישה, כאשר הפגישה מתרחשת כל 5 שבועות בימי שבת. הקוד משתמש ב‑ Recurrence מאפיין של Appointment מחלקה שמקבלת או מגדירה את תבנית החזרתיות.
var pattern = new WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);
appointment.Recurrence = pattern;
Add EML to MBOX
MBOX הוא פורמט נפוץ לאחסון מספר הודעות דוא"ל בקובץ אחד, מה שהופך אותו למתאים לארכוב והעברת אימיילים. השתמש ב‑ MboxrdStorageWriter מחלקה לכתיבת הודעות דוא"ל לקובץ MBOX. קוד הדוגמה הבא מדגים כיצד לבצע משימה זו:
using (var message = MailMessage.Load("inputFile.eml")){
using (var writer = new MboxrdStorageWriter("output.mbox", false)){
writer.WriteMessage(message);
}
}
Convert EML to MHTML
בעזרת Aspose.Email for .NET, תוכל בקלות להמיר קובצי EML לפורמט MHTML למטרות שונות כגון ארכוב, תאימות, צפייה אופליין ועוד. טען את הודעת האימייל באמצעות ה‑ MailMessage.Load, ולאחר מכן השתמש ב‑ MhtSaveOptions מחלקה כפרמטר ל‑ MailMessage.Save שיטה לציין את פורמט קובץ הפלט בעת שמירת ההודעה כקובץ נפרד:
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
var mhtSaveOptions = new MhtSaveOptions;
message.Save("output.mhtml", mhtSaveOptions);
ה MhtSaveOptions המחלקה מספקת אפשרויות שונות להתאמת קבצי MHTML הפלט לצרכיך הספציפיים:
-
שמר פורמט תאריך מקורי. אתה יכול לבחור לשמור על פורמט המקורי של הודעות האימייל במהלך תהליך ההמרה:
saveOptions.PreserveOriginalDate = true; -
הגדר קידוד פלט. אתה יכול לציין את הקידוד שישמש בעת כתיבת קבצי MHTML הפלט:
saveOptions.OutputEncoding = Encoding.UTF8; -
כלול קבצים מצורפים. זה יכול להיות מועיל אם ברצונך לשמור על הקבצים המצורפים בעת המרת אימיילים לפורמט MHTML:
saveOptions.SaveAttachments = true;
Convert EML to MSG
בין אם אתה צריך להעביר נתוני דוא"ל, לארכיב הודעות, או לשלב עם Microsoft Outlook, Aspose.Email מספקת פתרונות להשגת היעדים שלך. קבצי MSG נפוצים בשימוש ב‑Microsoft Outlook. להמרת EML ל‑MSG, השתמש ב‑ MailMessage.Load שיטה לטעון את קובץ ה‑EML הקיים תוך ציון כיצד הוא יטען עם EmlLoadOptions.
קוד הדוגמה הבא מדגים כיצד להמיר קובצי EML לפורמט MSG:
// Load mail message
using (var message = MailMessage.Load("sourceFile.eml", new EmlLoadOptions())){
// Save as MSG
var msgSaveOptions = new MsgSaveOptions;
message.Save("output.msg", MsgSaveOptions);
}
Convert EML to OFT
כדי להמיר קובצי EML לפורמט Outlook Template (OFT), טען את הודעת האימייל הקיימת באמצעות ה‑ MailMessage.Load שיטה ושמור אותה עם MailMessage.Save מציינת את אפשרויות ברירת המחדל לשמירת הודעה בפורמט OFT:
// load the EML file to be converted
var message = MailMessage.Load("My File.eml");
// save EML as a OFT
message.Save("Saved File.oft", SaveOptions.DefaultOft);
Add EML to PST
כדי להמיר קובצי EML לפורמט Personal Storage Table (PST), טען את ההודעה באמצעות ה‑ MapiMessage.Load שיטה, צור את קובץ הפלט עם ה‑ PersonalStorage.Create ולצרף את האימייל לתיקיית ה‑Inbox שנוצרה בקובץ האחסון באמצעות ה‑ AddMessage:
using (var msg = MapiMessage.Load("sourceFile.eml", new EmlLoadOptions()))
{
using (var personalStorage = PersonalStorage.Create("outputFile.pst", FileFormatVersion.Unicode))
{
var inbox = personalStorage.RootFolder.AddSubFolder("Inbox");
inbox.AddMessage(msg);
}
}
Add EML to OST
מפתחים יכולים בקלות להמיר קובצי EML לפורמט Outlook Offline Storage Table (OST), מה שמאפשר אינטגרציה עם Microsoft Outlook. קוד הדוגמה הבא מדגים כיצד להוסיף הודעת EML לקובץ OST:
using (var ost = PersonalStorage.FromFile("storage.ost"))
{
// Load the EML file
var msg = MapiMessage.Load("message.eml", new EmlLoadOptions());
// Add the EML message to the OST file
var folderInfo = ost.RootFolder.GetSubFolder("Inbox");
folderInfo.AddMessage(msg);
}
ה EmlLoadOptions הפרמטר מציין אפשרויות נוספות לטעינת קובצי EML, כגון שמירה על פורמטים מוטמעים של הודעה, הסרת חתימות, ועוד.
Convert EML to VCF
Aspose.Email for .NET מציעה פונקציונליות להמרת קובצי EML לפורמט vCard (VCF), המאפשרת למפתחים לחלץ מידע אנשי קשר מהודעות דוא"ל. למטרה זו, הספרייה מציעה את GetAlternateViewContent שיטה של MailMessage מחלקה שמאפשרת למפתחים לגשת לנראות חלופיות בתוך הודעות דוא"ל ולחלץ תוכן VCF המוטמע בקבצי EML לשימוש נוסף:
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/vcard" (VCF)
var vcfView = eml.GetAlternateViewContent("text/vcard");
// If an VCF view is found, save it to a file
if (vcfView != null)
{
File.WriteAllText("contact.vcf", vcfView);
}