להמיר דואר אלקטרוני ל-HTML ב-C# .NET

HTML הוא פורמט בשימוש נרחב ונגיש בקלות שניתן לצפות בו על ידי מגוון רחב של פלטפורמות, דפדפני אינטרנט, כולל מחשבים שולחניים ומכשירים ניידים. בניגוד לכך, קבצי EML ו-MSG עשויים לדרוש תוכנה או לקוחות דואר ספציפיים כדי להיות מוצגים, מה שיכול להקשות על הגישה והצפייה בהם לאורך זמן. לכן, המרת קבצי MSG או EML ל-HTML מקלה על הצפייה בהם, במיוחד עבור נמענים שעשויים שלא להיות להם לקוחות דואר תואמים או תוכנה.

בנוסף, קבצי HTML קלים יותר לארכוב ונשארים בפורמט שניתן לחפש בו ולמקד.

מאמר זה מציג אלגוריתם להמרת קבצי MSG או EML במהירות ובקלות לפורמט HTML באמצעות C#, ללא קשר למטרה underlying. השיטה המהימנה שלנו מבטיחה שהתוכן של האימייל, כולל תמונות משולבות, נשמר במלואו ללא כל אובדן. זה מבטיח שהשלמות של האימייל נשמרת לאורך תהליך ההמרה.

המאמר עוסק בנושאים הבאים:

C# API להמיר קבצי EML/MSG ל-HTML

להמרת קבצי EML/MSG ל-HTML, נשתמש ב-Aspose.Email for .NET. זו API לעיבוד דואר אלקטרוני שמאפשרת לך למניפולציה באימיילים ולעבוד עם פורמטים של קבצים של לקוחות דואר פופולריים כמו Thunderbird, Outlook, וכו’. אתה יכול להוריד את ה-DLL של ה-API או להתקין אותו מ-NuGet באמצעות הפקודה הבאה:

PM> Install-Package Aspose.Email

להמיר קבצי EML/MSG ל-HTML תוך שמירת תמונות בנפרד

קובץ MSG טיפוסי נראה כך:

תצוגת קובץ MSG

עם ה-API שלנו אתה יכול לקבוע כל תיקיה במכשיר שלך ולשמור את קובץ ה-HTML המיועד עם תמונות בתיקיה נפרדת:

תצוגת קובץ HTML

השתמש בדוגמת הקוד הבאה כדי להמיר הודעת דואר אלקטרוני בפורמט MSG או EML לקובץ HTML עם תמונות, שנשמרות בתיקיה המיועדת. הקוד מבצע את הצעדים הבאים:

  1. ראשית, מגדיר את מסלולי המקור והיעד עבור קובץ ה-MSG/EML המקורי וקובץ ה-HTML, בהתאמה, כמו גם את התיקיה המיועדת למשאבים.
  2. טוען את קובץ ה-MSG או EML באמצעות שיטת MailMessage.Load.
  3. יוצר אובייקט HtmlSaveOptions ומגדיר את המאפיין ResourceRenderingMode ל-SaveToFile.
  4. מגדיר נציג עבור אירוע SaveResourceHandler של HtmlSaveOptions.
  5. יוצר תיקיה יעד למשאבים בתוך הנציג אם היא לא קיימת כבר.
  6. שומר כל משאב לקובץ עם שם קובץ בתוך הנציג בהתבסס על סוג התוכן של המשאב.
  7. קורא לשיטת Save של מופע MailMessage, מעביר את שם קובץ ה-HTML המיועד ואת מופע HtmlSaveOptions כדי לשמור את האימייל בפורמט HTML.
// MSG or EML filename
var msgFileName = Path.Combine(sourcePath, "A Day in the Park.msg");
// target HTML
var htmlFileName = Path.Combine(targetPath, "A Day in the Park.html");
// target directory to save images
var resourceDir = Path.Combine(targetPath, "A Day in the Park");
// Load MSG or EML
var msg = MailMessage.Load(msgFileName);
// Create HTML save options
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile
};
htmlSaveOptions.SaveResourceHandler +=
(AttachmentBase attachment, out string resourceFileName) =>
{
if (!Directory.Exists(resourceDir))
{
Directory.CreateDirectory(resourceDir);
}
resourceFileName = Path.Combine(resourceDir, attachment.ContentType.Name);
attachment.Save(resourceFileName);
};
msg.Save(htmlFileName, htmlSaveOptions);

להמיר קבצי EML/MSG ל-HTML תוך שמירת תמונות בתוך HTML

לפעמים ייתכן שתרצה להמיר קבצי EML/MSG ל-HTML תוך שמירת תמונות משולבות בתוך ה-HTML.

תמונה בתוך HTML בעורך טקסט

קטע הקוד הבא מדגים כיצד להמיר קובץ MSG או EML לפורמט HTML ב-C# ולשמור את התמונות בתוך ה-HTML. הקוד מבצע את הצעדים הבאים:

  1. מגדיר את מסלולי המקור והיעד עבור קובץ הדואר האלקטרוני ופלט ה-HTML.
  2. טוען את קובץ ה-MSG או EML באמצעות שיטת MailMessage.Load.
  3. יוצר מופע חדש של מחלקת HtmlSaveOptions, המאפשרת לך להגדיר כיצד האימייל נשמר כ-HTML.
  4. מגדיר את מופע HtmlSaveOptions לשלב את המשאבים, כולל תמונות, ישירות לתוך ה-HTML.
  5. קורא לשיטת Save של מופע MailMessage, מעביר את שם קובץ ה-HTML המיועד ואת מופע HtmlSaveOptions כדי לשמור את האימייל בפורמט HTML.
// MSG or EML filename
var msgFileName = Path.Combine(sourcePath, "A Day in the Park.msg");
// target HTML
var htmlFileName = Path.Combine(targetPath, "A Day in the Park.html");
// Load MSG or EML
var msg = MailMessage.Load(msgFileName);
// Create HTML save options
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(htmlFileName, htmlSaveOptions);

שמירת HTML עם כותרת

כמשתנה אופציונלי אתה יכול לשמור HTML עם כותרת. קטע הקוד הבא מדגים כיצד לשמור HTML עם כותרת ב-C#:

// Create HTML save options
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml,
HtmlFormatOptions = HtmlFormatOptions.WriteHeader
};

כתוצאה מכך, כותרת טקסט תתוסף ל-HTML המיועד:

כותרת טקסט

סיכום

לסיכום, במאמר זה למדתם על הנוחות של פורמט HTML לארכוב וניהול הקבצים שלכם וכיצד לבצע המרה מקבצי EML או MSG ב-C# utilizando Aspose.Email for .NET library. תוכלו לראות עד כמה תהליך ההמרה הוא מהיר וקל עם כמה שורות קוד בלבד. במקרה שיש לכם שאלות, אל תהססו לכתוב לפורום התמיכה החינמי שלנו free support forum. תוכלו גם ללמוד עוד על Aspose.Email for .NET, תכונותיה ומתקניה מהתיעוד.

ראה גם