סינון הודעות מתיבת דואר Exchange

Aspose.Email for C++ מאפשר למפתחים לסנן הודעות בתיבת דואר Exchange באמצעות IEWSClient, MailQuery, ו- ExchangeQueryBuilder. ניתן לסנן הודעות לפי תאריך, שולח, תחום, MessageID, הודעות מסירה, ועוד קריטריונים רבים.

כדי לאחזר הודעות מתיקייה לצורך עיבוד נוסף, ה IEWSClient. מכיל את השיטות הבאות:

  • ListMessages() - מקבל את כל ההודעות מתיבת דואר.
  • ListMessages() overload - מחזיר רק הודעות שתואמות תנאים ספציפיים. הוא מקבל MailQuery שמגדיר כללי סינון כגון מילות מפתח בנושא, טווחי תאריכים, וסינון על בסיס כתובת.

סינון הודעות עם IEWSClient

דוגמת הקוד הבאה מדגימה כיצד לבצע שאילתא ולהשיג אימיילים ספציפיים מ‑Exchange Server באמצעות Exchange Web Services (EWS) עם Aspose.Email עבור C++. היא מציגה את תהליך החיבור המלא לשרת Exchange (במקרה זה Office 365), בניית שאילתת חיפוש למציאת הודעות עם "Newsletter" בנושא שהתקבלו היום, ביצוע השאילתא בתיקיית הדואר הנכנס, קבלת ההודעות המתאימות, וטיפול נכון במחזור החיים של החיבור כולל טיפול בשגיאות.

  1. התחבר לשרת Exchange באמצעות IEWSClient.
  2. צור MailQuery או ExchangeQueryBuilder ולהגדיר תנאי סינון.
  3. קרא ListMessages(folderUri, query) להשגת תוצאות מסוננות.

סינון הודעות לפי קריטריון

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

סינון לפי התאריך של היום

דוגמת הקוד הבאה מדגימה כיצד לבנות שאילתה כדי למצוא הודעות שהגיעו היום.

סינון לפי טווח תאריכים

דוגמת הקוד הבאה מדגימה כיצד לבנות שאילתה כדי למצוא הודעות שהגיעו במהלך שבעת הימים האחרונים.

סינון לפי שולח ספציפי

דוגמת הקוד הבאה מדגימה כיצד לבנות שאילתה כדי למצוא הודעות משולח ספציפי.

סינון לפי תחום

דוגמת הקוד הבאה מדגימה כיצד לבנות שאילתה כדי למצוא הודעות מתחום ספציפי.

סינון לפי נמען

דוגמת הקוד הבאה מדגימה כיצד לבנות שאילתה כדי למצוא הודעות שנשלחו לנמען ספציפי.

סינון לפי MessageID

דוגמת הקוד הבאה מדגימה כיצד לבנות שאילתה כדי למצוא הודעה ספציפית לפי MessageId שלה.

סינון הודעות מסירת דוא"ל

דוגמת הקוד הבאה מדגימה כיצד לבנות שאילתה כדי למצוא הודעות מסירת דוא"ל (MDNs).

סינון לפי גודל הודעה

דוגמת הקוד הבאה מדגימה כיצד לבנות שאילתה כדי למצוא הודעות גדולות מגודל ספציפי.

בניית שאילתות מורכבות

כאשר משתמשים ב MailQueryBuilder או ExchangeQueryBuilder, כל מאפיין שאתה מגדיר יוצר תנאי סינון. אם תנאים אלה מוגדרים בפסקאות נפרדות, הם משולבים בעזרת AND לוגי, כלומר כל התנאים חייבים להתאים כדי שההודעה תוחזר.

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

  • דוא"לים בטווח תאריכים
  • דוא"לים מתחום ספציפי
  • דוא"לים המתאימים למספר קריטריונים במקביל

שילוב שאילתות עם AND

שימוש בריבוי מאפייני בנייה ברצף יוצר אוטומטית פעולה של AND.

הדוגמה הבאה מאחזרת הודעות ש:

  • מגיעה מתחום ספציפי
  • הגיעה לפני היום
  • הגיעה במהלך שבעת הימים האחרונים

שילוב שאילתות עם OR

כדי להתאים הודעות שמסכימות לאחת משתי התנאים, השתמש בפונקציה Or().

הדוגמה הבאה משיגה הודעות ש:

  • מכילות “test” בנושא, או
  • נשלחו על ידי “noreply@host.com”

סינון דוא"ל רגיש רישיות

ניתן להחיל סינון עם רגישות לאותיות גדולות/קטנות או ללא רגישות כשמבצעים שאילתות על הודעות מתיבת Exchange. כדי לשלוט בהתנהגות זו, השתמש בדגל IgnoreCase הזמין במתודות הסינון. העברת ערך true מאפשרת התאמה ללא רגישות לאותיות.

הדוגמה שלהלן מסננת הודעות ש:

  • מכילה את המילה "Newsletter" בנושא (בלי תלות באותיות גדולות/קטנות)
  • הגיעה היום

דפדוף (Pagination) בסינון הודעות

בעת עבודה עם תיבות Exchange גדולות, דפדוף (paging) מאפשר לקבל הודעות בקבוצות קטנות וניהוליות. ה ListMessagesByPage מתודה של IEWSClient מחזירה תוצאות עמוד אחרי עמוד בהתבסס על גודל עמוד מוגדר וקריטריונים של השאילתה.

הדוגמה שלהלן מדגימה כיצד:

  1. בנה מסנן באמצעות MailQueryBuilder.
  2. קבל תוצאות בעמודים.
  3. עבור על כל העמודים עד האחרון.
  4. ספור את מספר ההודעות המתאימות.