ניהול הודעות Outlook

שמירת הודעות דוא"ל כ-HTML

Aspose.Email מאפשר לשמור משאבי דוא"ל עם נתיבים יחסיים בעת יצוא הודעות לפורמט HTML. תכונה זו מספקת גמישות רבה יותר באופן קישור המשאבים בקובץ HTML המיוצא, מה שמקל על שיתוף והצגת הודעות שמורות במערכות שונות. כדי לשמור משאבים עם נתיבים יחסיים, השתמש ב- HtmlSaveOptions.UseRelativePathToResources מאפיין. ערך ברירת המחדל של המאפיין הוא false (המשאבים נשמרים עם נתיבים מוחלטים). כאשר מוגדר ל-true, המשאבים נשמרים עם נתיבים יחסיים.

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

דוגמת הקוד שלהלן מציגה כיצד לשמור דוא"ל עם נתיב יחסי ברירת מחדל למשאבים:

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = true
};

msg.Save(Path.Combine("target_files"), htmlSaveOptions);

במקרה זה, המשאבים יישמרו בתיקייה [html file name]_files, באותו מסלול שבו קובץ .html, וה-HTML יפנה אל המשאבים דרך נתיבים יחסיים.

דוגמת הקוד שלהלן מציגה כיצד לשמור עם נתיב מוחלט למשאבים:

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = false
};

msg.Save(Path.Combine("target_files"), htmlSaveOptions);

כדוגמת הראשונה, המשאבים יישמרו בתיקייה [html file name]_files כברירת מחדל, אך ה-HTML יפנה אל המשאבים באמצעות נתיבים מוחלטים.

על ידי שימוש ב- ResourceHtmlRendering אירוע, אתה יכול להגדיר נתיבים מותאמים יחסיים או מוחלטים למשאבים. בעת התאמת נתיבים עם ה- ResourceHtmlRendering מטפל אירוע, ומכיוון ש- UseRelativePathToResources מוגדר ל-true, עליך להקצות נתיב יחסי ל- PathToResourceFile מאפיין כדי להבטיח הפנייה נכונה.

דוגמת הקוד שלהלן מציגה כיצד להגדיר נתיב יחסי מותאם אישית באמצעות אירוע ResourceHtmlRendering

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = true
};

htmlSaveOptions.ResourceHtmlRendering += (o, args) =>
{
    if (o is AttachmentBase attachment)
    {
	    // Since UseRelativePathToResources = true, you should assign a relative path to the PathToResourceFile property.
        args.PathToResourceFile = $@"images\{attachment.ContentType.Name}";
    }
};

msg.Save(Path.Combine(targetPath, "A Day in the Park.html"), htmlSaveOptions);

המרת MSG להודעות MIME

ממשק ה‑API של Aspose.Email מספק אפשרות להמרת קובצי MSG להודעות MIME באמצעות ה- ToMailMessage שיטה.

הגדרת זמני קצוב להמרת הודעות וטעינה

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

דוגמת הקוד שלהלן תציג כיצד להגדיר זמן קצוב בעת המרת הודעה:

var options = new MailConversionOptions();
// Set the timeout to 5 seconds
options.Timeout = 5000;

options.TimeoutReached += (object sender, EventArgs args) =>
{
    string subj = (sender as MailMessage).Subject;
	 // Set a flag indicating the timeout was reached
    isTimedOut = true;
};

var mailMessage = mapiMessage.ToMailMessage(options);

המרת MSG ל-EML עם שימור גוף RTF

המרת קובץ MSG ל-EML תוך שימור גוף ה-RTF יכולה להתבצע בשתי דרכים:

שני המאפיינים משיגים או מגדירים ערך המציין האם לשמור את גוף ה-rtf ב-MailMessage.

קטעי הקוד הבאים מציגים כיצד להמיר קובץ MSG ל-EML ולשמר את גוף ה-RTF:

var loadOptions = new MsgLoadOptions
{
    PreserveRtfContent = true
};

var eml = MailMessage.Load("my.msg", loadOptions);
var conversionOptions = new MailConversionOptions
{
    PreserveRtfContent = true
};

var msg = MapiMessage.Load("my.msg");

var eml = msg.ToMailMessage(conversionOptions);

טיפול בקבצי תבנית Outlook (.OFT)

תבניות Outlook הן שימושיות מאוד כאשר ברצונך לשלוח הודעת דוא"ל דומה שוב ושוב. במקום להכין את ההודעה מאפס בכל פעם, ראשית הכין את ההודעה ב-Outlook ושמור אותה כתבנית Outlook (OFT). לאחר ذلك, בכל פעם שתצטרך לשלוח את ההודעה, תוכל ליצור אותה מהתבנית, וחוסך זמן בכתיבת הטקסט זהה בגוף או בנושא, קביעת עיצוב וכדומה. של Aspose.Email MailMessage class ניתן להשתמש כדי לטעון ולקרוא קובץ תבנית Outlook (OFT). ברגע שתבנית Outlook נטענת במופע של MailMessage class, תוכל לעדכן את השולח, הנמען, הגוף, הנושא ונתונים נוספים. לאחר עדכון המאפיינים:

  • שלח את האימייל באמצעות SmtpClient class או
  • שמור את ההודעה כ‑MSG ובצע עדכונים/אימות נוספים באמצעות Microsoft Outlook.

במקטעי הקוד שלהלן, אנו:

  1. טען את התבנית באמצעות ה- MailMessage מחלקה.
  2. עדכן חלק מהמאפיינים.
  3. שמור את ההודעה בפורמט MSG.

קטע הקוד הבא מציג כיצד לטעון את קובץ ה-OFT, לעדכן את ההודעה ולשמור אותה בפורמט MSG.

שמירת קבצי MSG כתבניות

קטע הקוד הבא מראה כיצד לשמור את קובץ ה‑Outlook MSG כתבנית.

קביעת סוג הודעת MAPI (OFT או MSG)

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

דוגמת הקוד למטה מדגימה כיצד לקבוע האם MapiMessage הוא OFT או MSG:

var msg = MapiMessage.Load("message.msg");
var isOft = msg.IsTemplate; // returns false

var msg = MapiMessage.Load("message.oft");
var isOft = msg.IsTemplate; // returns true

שמור MapiMessage או MailMessage בפורמט OFT

ה SaveOptions המחלקה מאפשרת לך לציין אפשרויות נוספות בעת שמירת MailMessage או MapiMessage בפורמט מסוים.

דוגמת הקוד הבאה מדגימה כיצד לשמור הודעה בפורמט OFT:

// Save the MailMessage to OFT format
using (var eml = MailMessage.Load("message.eml"))
{
    eml.Save("message.oft", SaveOptions.DefaultOft);
	
	// or alternative way #2
	var saveOptions = new MsgSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    eml.Save("message.oft", saveOptions);
	
	// or alternative  way #3
	saveOptions = SaveOptions.CreateSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    eml.Save("message.oft", saveOptions);

}

// Save the MapiMessage to OFT format
using (var msg = MapiMessage.Load("message.msg"))
{
    msg.Save("message.oft", SaveOptions.DefaultOft);
	
	// or alternative way #2
	var saveOptions = new MsgSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    msg.Save("message.oft", saveOptions);
	
	// or alternative  way #3
	saveOptions = SaveOptions.CreateSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    msg.Save("message.oft", saveOptions);
}

ניהול הודעות חתומות דיגיטלית

Aspose.Email מיישמת את האלגוריתם המלא של אובייקט דוא"ל S/MIME. זה מעניק ל-API יכולת מלאה לשמר חתימות דיגיטליות בעת המרת הודעות בין פורמטים.

שימור חתימה במהלך המרת EML ל-MSG

Aspose.Email שומרת על החתימה הדיגיטלית בעת המרה מ‑EML ל‑MSG. קטע הקוד הבא מראה כיצד לבצע המרה מ‑EML ל‑MSG.

המרת הודעות S/MIME מ‑MSG ל‑EML

Aspose.Email שומרת על החתימה הדיגיטלית בעת המרה מ‑MSG ל‑EML כפי שמוצג במקטע הקוד הבא.

בדיקת חתימות של אימיילים מאובטחים

המאפיינים הבאים זמינים לבדיקת החתימה של אובייקטי MapiMessage.

דוגמת הקוד למטה מציגה כיצד ליישם את התכונות בפרויקט שלך:

var msg = MapiMessage.Load(fileName, new EmlLoadOptions());
var result = new SecureEmailManager().CheckSignature(msg);

var certFileName = "cert.pfx";
var cert = new X509Certificate2(certFileName, "pass");
var eml = MapiMessage.Load(fileName);
var store = new X509Store();
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();

var result = new SecureEmailManager().CheckSignature(eml, cert, store);

הסרת חתימות מ-MapiMessages

לשיפור התאימות, ה MapiMessage.RemoveSignature שיטה ו MapiMessage.IsSigned המאפיין משמש להסרת חתימה דיגיטלית מהודעה.

קוד הדוגמה הבא מראה כיצד ליישם תכונות אלו בפרויקט שלך:

var msg = MapiMessage.Load(fileName);

if (msg.IsSigned)
{
    var unsignedMsg = msg.RemoveSignature();
}

פענוח MapiMessages באמצעות תעודות

אם ברשותך הודעות MAPI מוצפנות ואתה צריך לפענח אותן באמצעות המפתח הפרטי השמור באישור, התכונות הבאות של Aspose.Email עשויות להיות מועילות:

קטוד המקטע הבא מראה כיצד לעבוד עם הודעות MAPI מוצפנות:

var privateCert = new X509Certificate2(privateCertFile, "password");
var msg = MapiMessage.Load("encrypted.msg");

if (msg.IsEncrypted);
{
    var decryptedMsg = msg.Decrypt(privateCert);
}

הגדרת קטגוריות צבע עבור קובצי MSG

קטגוריית צבע מסמנת הודעת דוא"ל לחשיבות או לקטגוריה מסוימת. Microsoft Outlook מאפשרת למשתמשים לשייך קטגוריות צבע כדי להבדיל בין הודעות. כדי לטפל בקטגוריית הצבע, השתמש ב- FollowUpManager. הוא מכיל פונקציות כגון AddCategory, RemoveCategory, ClearCategories ו GetCategories.

  • AddCategory מקבל MapiMessage והמחרוזת של קטגוריית הצבע, לדוגמה "קטגוריית סגול" או "קטגוריית אדום" כפרמטרים.
  • RemoveCategory מקבל MapiMessage והמחרוזת של קטגוריית הצבע שתוסר מההודעה.
  • ClearCategories משמש להסרת כל קטגוריות הצבע מההודעה.
  • GetCategories משמש לשחזור כל קטגוריות הצבע מהודעה מסוימת.

הדוגמה שלהלן מבצעת את המשימות כמפורט להלן:

  1. הוסף קטגוריית צבע.
  2. הוסף קטגוריית צבע נוספת.
  3. קבל את רשימת כל הקטגוריות.
  4. הסר את כל הקטגוריות.

גישה למידע מעקב בקובצי MSG

ממשק ה-API של Aspose.Email מספק אפשרות לגשת למידע המשך מהודעה שנשלחה או התקבלה. הוא יכול לשחזר מידע על קריאה, קבלת קבלה וקבלת תוצאות הצבעה מקובץ הודעה.

שחזור מידע על קבלה וקבלת קבלת קריאה

קטע הקוד הבא מראה כיצד לקבל מידע על קבלת קריאה וקבלת משלוח.

צור הודעות קידום ותגובה

ממשק ה-API של Aspose.Email מספק את היכולת ליצור ולעצב הודעות קידום והתגובה. ה ReplyMessageBuilder ו ForwardMessageBuilder מחלקות ה‑API משמשות ליצירת הודעות Reply ו‑Forward בהתאמה. ניתן לציין הודעת Reply או Forward שתיווצר באמצעות כל אחת מהשיטות של OriginalMessageAdditionMode enum. enum זה מכיל את הערכים הבאים:

  • OriginalMessageAdditionMode.None - ההודעה המקורית אינה נכללת בהודעת התגובה.
  • OriginalMessageAdditionMode.Attachment - ההודעה המקורית כלולה כקובץ מצורף בהודעת התגובה
  • OriginalMessageAdditionMode.Textpart - ההודעה המקורית נכללת כטקסט בגוף הודעת המענה

צור הודעות תגובה

קוד הדוגמה הבא מציג כיצד ליצור הודעת תגובה.

צור הודעות קידום

קוד הדוגמה הבא מראה כיצד ליצור הודעת Forward.