1. מוצרים
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS for .NET

קרא, צור ועבד קבצי Outlook MSG, מכולות CFB והודעות EML מ-.NET — חינמי וקוד פתוח, ללא תלות ב-Microsoft Outlook.

ספרייה .NET מקורות פתוחים עבור קבצי MSG, CFB ו-EML

Aspose.Email FOSS for .NET הוא ספרייה C # ללא תלויות, בעלת רישיון MIT לעבודה עם קבצי Microsoft Outlook .msg , פחיות CFB (Compound File Binary) והודעות EML. הוסף חבילה אחת של NuGet ופתאום התחל לקרוא, ליצור ולעבד מסרים דוא"ל מבלי להתקין את Microsoft Outlook או כל זמן תפעול פרטי.

הספרייה מספקת שני רמות של גישה. ברמה הנמוכה, CfbReader ו- CfbWriter נותנים שליטה מלאה על כלי CFB בינאריים כניסי תיקונים מעוקבים, קוראים ומכות צמת אחסון ותעשי הנתונים הזורמים, ובוחן את תכנון המגזר הגולמי. MsgReader وMsgWriter מטפלים בפורמט MSG מעל CF B, חושפים זרמי נכסים MAPI, טבלאות מקבליים וסוב-חנויות התוספות. בשלב גבוה, MapiMessage מאפשר לך ליצור הודעות חדשות מהתחלה, לקרוא, גוף, שולח וקבלים, לנהל מתוספים, ולהמיר בין פורמט EMLIME לבין MS G באמצעות יישום מובנה במערכת .

הספרייה מיועדת ל- .NET 8.0 או מאוחר יותר ואין לה תלויות מקומיות, מה שהופך אותה מתאימה לחלונות, לינוקס, macOS, כלי דוקר ותפקודים ללא שרת. עבור תכונות נוספות ותמיכה מסחרית, ראה Aspose.Email for .NET.

CFB Container לקרוא ולכתוב

  • פתח קבצי CFB: תעלה את אריחי CF B הקיימים מדרך קובץ, זרם או מסדרת בייטים באמצעות CfbReader.FromFile(), CfbReader.FromStream(), או new CfbReader(data).
  • ** לעבור עץ התיקייה:** לשכפל אחסונים, זרמים וילדים באמצעות IterStorages(), IterStreams(),IterChildren() ו- IterTree().
  • פתור מסלולים: ניווט בהיררכיות אחסון מקושרות עם ResolvePath(names) כדי לאתר זרם ספציפי על ידי שרשרת שמות.
  • כתוב קונטריירים CFB: לבנות מסמכים CF B תכנית עם CfbDocument ו סדרתי ל-בייטים או קבץ באמצעות CfbWriter.ToBytes() או CfbWriter.WriteFile().
  • ** להוסיף אחסון וזרמים:** לקשר CfbStorage ו CfbStream עצמות לכל ציר אחסון לפני סדרה.

היכן משתמשים ב- CFB Access

  • בדיקת קבצים MSG: CFB הוא פורמט המכולות עבור Outlook .msg קובצי גישה ישירה CF B מאפשר בדיקה משפטית ולתיקון.
  • בצורות בינאריות מותאמות: כל יישום מוריש המשתמש ב- CFB לאחסון נתונים יכול לקרוא או לכתוב ללא תלות COM.
  • שיקום נתונים: לעבור את עץ התיקון המלא ולסחוף סל סטרים גולמי מתיקים CFB פגומים או לא-סטנדרטיים.
  • בנירי מבחן טיול: סדרתי מסמך לביטים ולמעלה אותו מחדש כדי לאמת סידוריזציה ללא אובדן בדיקות אוטומטיות.

קובץ MSG לקרוא ולכתוב

  • קרא קבצים MSG: פתח את הקבצים Outlook MS G עם MsgReader.FromFile() או MsgReader.FromStream() ולהיכנס לזרמים של תכונות MAPI הבסיסיים, רשומות המקבלים ו-תאריכי תת התוספת.
  • כתוב קבצים MSG: לייצר קבצי MS G מ MsgDocument עם MsgWriter.ToBytes() או MsgWriter.WriteFile().
  • גישה MAPI ברמה נמוכה: לקרוא זרמי נכסים ברמת העליון, תכונות בשם, ונתונים התוספת באמצעות MsgStorage, MsgStream, ואת MsgStorage.FindStream().
  • ** ניווט אחסון MSG:** השתמש MsgStorage.FindStream() ו MsgStorage.FindStorage() כדי לאתר כניסים קטנים בשם.

היכן משמש עיבוד MSG

  • ** צינורות ארכיון דואר אלקטרוני:** קריאת קבצים .msg במספר גדול מגילי הארכיונים וקיצוץ מטאדעטה או תוספים.
  • כלים להעברת: להפוך אוספי MSG לצורות סטנדרטיות לייבוא למערכות שאינן Outlook.
  • ** גילוי משפטי:** ניתוח זרמי תכונות MAPI גולמים כדי להוציא את כל שדות ההודעה כולל תכונה לא סטנדרטית.
  • השפעה אוטומטית של דוחות: לבנות .msg קבצים באופן מתוכנן ולספק אותם למערכות הדואר מבוססות Outlook.

API לתקשורת ברמה גבוהה

  • ** ליצור הודעות:** לבנות דואר אלקטרוני מלא עם MapiMessage.Create(subject, body), להגדיר SenderName, SenderEmailAddress , ו HtmlBody.
  • ** להוסיף מקבלים:** לצרף To, Cc ו- Bcc באמצעות AddRecipient() עם כתובת דואר אלקטרוני ושם הצג.
  • ניהול תוספים: להוסיף קבצים ותסמכים עם AddAttachment() או לבנות אובייקטים MapiAttachment ישירות עםFilename, MimeType , ContentId ו- Data.
  • שמור ולמלא מחדש: סדרתי עם message.Save() או message.Save(stream) ולהטען מחדש עםMapiMessage.FromFile() or MapiMessage.FromStream().

היכן משמש API ברמה גבוהה

  • ** ייצור דואר אלקטרוני אוטומטי:** לייצר אלפי קבצים MSG אישית משימות נתונים בעבודות בהריסות.
  • ** יצירת תבנית מבחן:** לבנות קבצים MSG ידועים עם תכנים צפויים עבור סוויטים של בדיקות אינטגרציה.
  • סחירת הציר: להטען קובץ MSG, לשכפל message.Attachments , ולהציל כל attachment.Data לדיסק.
  • בדיקת נכסים: גישה message.Subject, message.Body , message.SenderEmailAddress ו- message.Recipients ללא אוטומציה COM.

עריכת EML ו-MIME

  • Load EML into MapiMessage: Parse a standard .eml file (RFC 5322 / MIME) לתוך אובייקט מלא MapiMessage באמצעות MapiMessage.LoadFromEml(stream).
  • שמור הודעה MapiMessage כ EML: סדרתי MapiMessage בחזרה לפורמט MIME עם message.SaveToEml() או message.SaveToEml(stream).
  • אמינות מסביב: נושא, גוף, גופם של HTML, שליח, מקבלי הקשר וכתובות כולם נשמרים באמצעות EML → MSG → EM L נסיעות סביבתיות.
  • אין ניתוח MIME חיצוני: ניקוח EML מיושם באופן מקורי בתוך הספרייה אין צורך בהשתלות ב- System.Net.Mail .

היכן משמש הפנייה EML

  • גשר פורמט: לקבל דואר אלקטרוני כ-EML משרת הדוא"ל ולהפוך אותו ל-MSG עבור אחסון תואם לאוטלוק.
  • ** תאימות לתקנים:** להפוך קבצים MSG פרטי למיימי סטנדרטי עבור משלוח לכל תחבורה דואר.
  • נורמליזציה ארכיואלית: נורמליז את הארכיון המקושב של .eml ו- .msg קבצים לפורמט אחד.
  • הדרגות עבודה בדיקות: לייצר .eml קישורים בבדיקת ולוודא שהם שורדים MSG מסע הלוך ושוב ללא אובדן נתונים.

לקרוא נושא מסמך MSG

פתח קובץ MSG של Outlook מזרם ולדפיס את הנושא לא נדרש Microsoft Outlook.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

ליצור ולשמור הודעה MSG

בנה דואר אלקטרוני מלא עם שליח, מקבל ומלחיצה, ואז כותב אותו לקובץ MSG.

using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);

להפוך את EML ל-MSG.

תעלה קובץ .eml סטנדרטי ותציל אותו כקובצי Outlook .msg באמצעות פרסר MIME מובנה.

using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);
  

משאבי תמיכה ולמידה

 עברית