יצירת ושמירת קבצי Outlook
Aspose.Email תומך ביצירת קבצי הודעת Outlook (MSG). מאמר זה מסביר כיצד:
- צור ושמור הודעות Outlook
- צור קבצי MSG עם קבצים מצורפים
- צור קבצי MSG עם גוף RTF
- שמור הודעה במצב טיוטה
צור ושמור הודעות Outlook
ה MailMessage מחלקה מכילה את Save() מתודה שיכולה לשמור קבצי Outlook MSG לכונן או ל‑stream. הקטעי קוד למטה יוצרים מופע של ה‑ MailMessage מחלקה, הגדר מאפיינים כמו from, to, subject ו‑body. ה‑ Save() מתודה מקבלת את שם הקובץ כארגומנט. בנוסף, ניתן ליצור הודעות Outlook עם a גוף RTF דחוס באמצעות ה- MapiConversionOptions.
- צור מופע חדש של ה‑ MailMessage מחלקה ומגדירה את המאפיינים From, To, Subject ו‑Body.
- הפעל את MapiMessage מחלקה FromMailMessage מתודה שמקבלת את האובייקט של ה‑ MailMessage סוג. ה‑ FromMailMessage מתודה ממירה את MailMessage ל‑ MapiMessage (MSG).
- הפעל את MapiMessage.Save() מתודה לשמירת קובץ MSG.
כתוב את הקוד הבא באירוע הלחיצה של כפתור בבקר של יישום Windows.
צור קבצי MSG עם קבצים מצורפים
בדוגמה למעלה, יצרנו קובץ MSG פשוט. Aspose.Email גם תומך בשמירת קבצי הודעות עם קבצים מצורפים. כל שעליך לעשות הוא להוסיף את הקבצים המצורפים ל‑ MailMessage מופע. הוסף קבצים מצורפים על ידי קריאה למתודה Add() על MailMessage.Attachments אוסף. הוסף ListBox לטופס שנוצר למעלה והוסף שני כפתורים, אחד להוספה ואחד להסרה של קבצים מצורפים. היישום שמוסיף קבצים מצורפים פועל כך:
- כאשר לוחצים על הכפתור Add Attachment, מוצגת Open File Dialog שתסייע למשתמשים לעיין ולבחור את הקובץ המצורף.
- כאשר קובץ נבחר, הנתיב המלא מתווסף לרשימה.
- כאשר קובץ MSG נוצר, נתיבי הקבצים המצורפים נלקחים מהרשימה ומתווספים ל- MailMessage.Attachments אוסף.
כתוב את הקוד הבא באירוע לחיצה על הכפתור Add Attachment.
כאשר הכפתור Remove Attachment נלחץ, הסר את הפריטים שנבחרו מה-ListBox. כתוב את הקוד הבא באירוע לחיצה על הכפתור Remove Attachment.
הוסף את הקוד להוספת הקבצים המצורפים ל- MailMessage מופע. הקוד הסופי לפונקציית Write Msg נכתב כמפורט להלן.
צור קובצי MSG עם גוף RTF
ניתן גם ליצור קבצי Outlook Message (MSG) עם גופי טקסט עשיר (RTF) באמצעות Aspose.Email. גוף ה‑RTF תומך בעיצוב טקסט. צור אחד על‑ידי הגדרת ה‑ MailMessage.HtmlBody מאפיין. כאשר ממירים a MailMessage מופע ל‑ MapiMessage במקרה זה, גוף ה‑HTML מומר ל‑RTF. כך נשמר העיצוב של גוף האימייל.
הדוגמה הבאה יוצרת קובץ MSG עם גוף RTF. יש כותרת אחת, ועיצוב מודגש וקו תחתי מיושמים בגוף ה‑HTML. עיצוב זה נשמר כאשר ה‑HTML מומר ל‑RTF.
כיווץ RTF עבור גוף הודעת MAPI
הערה: תהליך הכיווץ עשוי להאט את הביצועים בעת יצירת הודעות. בהבנת עובדה זו והגדרת דגל הכיווץ בהתאם לדרישות ספציפיות ולשיקול בין גודל הקובץ לביצועים, מפתחים יכולים לנהל בצורה יעילה את יצירת קבצי MSG ו‑PST בעבודה עם הודעות דוא"ל.
כווץ RTF נועד להפחית את גודל ההודעה וכן את קבצי PST (Personal Storage Table) שנוצרו, שבהם משתמש Microsoft Outlook לאחסון הודעות דוא"ל ונתונים אחרים. באמצעות כיווץ RTF בעת קביעת גוף ההודעה, מפתחים יכולים להפחית את כמות הזיכרון הנדרשת לאחסון הודעות דוא"ל או לייעל את רוחב הפס ברשת בעת העברת הודעות.
למטרה זו, עוצבו שתי מתודות בעלות עומס יתר:
-
MapiMessageItemBase.SetBodyContent(string content, BodyContentType contentType, bool compression): מתודה זו מאפשרת לך להגדיר את תוכן גוף ההודעה באמצעות מחרוזת תוכן ספציפית והגדרת סוג תוכן הגוף (למשל, טקסט פשוט, HTML, וכו’). הפרמטר האופציונלי compression הוא ערך שמציין האם יש לדחוס את התוכן באמצעות דחיסת RTF. אם פרמטר ה-compression הוא true, התוכן יידחס, מה שמוביל לגודל הודעה קטן יותר.
-
MapiMessageItemBase.SetBodyRtf(string content, bool compression): מתודה זו מגדירה במפורש את תוכן גוף ההודעה בפורמט RTF. הפרמטר content הוא מחרוזת המייצגת את תוכן ה-RTF שיוגדר כגוף ההודעה. כפי במתודה הקודמת, פרמטר ה-compression מקביע האם יש להחיל דחיסת RTF על התוכן. אם compression הוא true, תוכן ה-RTF יידחס כדי להפחית את הגודל.
דוגמת הקוד הבאה מציגה כיצד להגדיר גוף HTML ולשמור אותו דחוס:
var msg = new MapiMessage("from@doamin.com", "to@domain.com", "subject", "body");
// set the html body and keep it compressed
// this will reduce the message size
msg.SetBodyContent(htmlBody, BodyContentType.Html, true);
קיימת גם MapiConversionOptions.UseBodyCompression מאפיין. כאשר מאפיין זה פעיל, דחיסת גוף RTF מיושמת במהלך המרת MailMessage ל-MapiMessage, מה שמביא לגודל קובץ MSG קטן יותר. זה מוצג בדוגמת הקוד למטה:
var message = MailMessage.Load(fileName);
var options = new MapiConversionOptions();
options.UseBodyCompression = true;
var msg = MapiMessage.FromMailMessage(message, options);
שמור הודעה במצב טיוטה
הודעות אימייל נשמרות כטיוטות כאשר מישהו החל לערוך אותן אך רוצה לחזור אליהן כדי להשלים אותן מאוחר יותר. Aspose.Email תומך בשמירת הודעות אימייל במצב טיוטה על ידי הגדרת דגל הודעה. להלן קוד לדוגמה לשמירת הודעת Outlook (MSG) כטיוטה.