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

Aspose.Email FOSS עבור C++

קרא, צור ועבד קבצי Outlook MSG ומכולות CFB מ‑C++ — חינם וקוד פתוח, ללא תלות ב‑Microsoft Outlook.

ספרייה בקוד פתוח ב‑C++ לקבצי MSG ו‑CFB

Aspose.Email FOSS עבור C++ הוא ספרייה בקוד פתוח בעל רישיון MIT, ספרייה של C++ לעבודה עם קבצי Microsoft Outlook .msg ומכולות Compound File Binary (CFB). כלול את הקבצים הראשיים באמצעות CMake והתחל מיד לקרוא, ליצור ולעבד הודעות דוא"ל ללא התקנת Microsoft Outlook או זמן ריצה קנייני.

הספרייה מספקת שני רמות של גישה. ברמה הנמוכה, cfb_reader ו-cfb_writer נותנים שליטה מלאה על מכולות בינריות CFB — נווט ברשומות הספרייה, קרא וכתוב צמתים של אחסון ונתוני זרם, ובדוק את פריסת הסקטורים הגולמית. msg_reader ו-msg_writer מטפלים בפורמט MSG על גבי CFB, חושפים זרמי מאפייני MAPI, טבלאות נמען, ותתי‑אחסונים של קבצים מצורפים. ברמה הגבוהה, mapi_message מאפשר לך ליצור הודעות חדשות מאפס, לקרוא נושאים, גופים, נמענים וקבצים מצורפים, ולהמיר בין פורמט MSG ל‑EML. הספרייה נבנית על כל פלטפורמה עם מהדר C++17 ואין לה תלות חיצונית, מה שהופך אותה למתאימה ל‑Windows, Linux, macOS, מכולות Docker ולמערכות משובצות. גרסה ארגונית עם תכונות נוספות מוצעת כ Aspose.Email for C++.

קריאה וכתיבה של מכולת CFB

  • פתח קבצי CFB: טען מכולות CFB קיימות מנתיב קובץ, זרם, או מערך בתים באמצעות cfb_reader::from_file(), cfb_reader::from_stream(), או cfb_reader::from_bytes().
  • עבור על עץ הספריות: רשום אחסונים וזרמים באמצעות storage_ids(), stream_ids() ו-child_ids(), ונווט במבנים מקוננים עם resolve_path().
  • בדיקת צמתים: בדוק את סוג הצומת עם cfb_node::is_storage() ו-cfb_node::is_stream(), קרא חותמות זמן דרך creation_time() ו-modified_time().
  • כתיבת מכולות CFB: בנה מסמכי CFB באופן תכנותי עם cfb_document וסריאליזציה לבייטים או לקובץ דרך cfb_writer::to_bytes() או cfb_writer::write_file().

היכן נעשה שימוש בגישה ל‑CFB

  • בדיקת קובץ MSG: CFB הוא פורמט המכולה לקבצי Outlook .msg — גישה ישירה ל‑CFB מאפשרת בדיקה פורנזית ותיקון.
  • Custom binary formats: כל יישום ישן המשתמש ב‑CFB לאחסון נתונים ניתן לקריאה או כתיבה ללא תלות ב‑COM.
  • שחזור נתונים: עבור על עץ הספריות המלא והוצא בתים גולמיים של זרם מקבצי CFB פגומים או לא תקניים.

קריאה וכתיבה של קובץ MSG

  • קרא קבצי MSG: פתח קבצי Outlook MSG עם msg_reader::from_file() או msg_reader::from_stream() וגישה לזרמי המאפיינים של MAPI ולתת‑אחסונים של הקבצים המצורפים.
  • Write MSG files: הפק קבצי MSG מ-msg_document עם msg_writer::to_bytes() או msg_writer::write_file().
  • בדיקת מסמך MSG: גש למטא‑נתוני הגרסה דרך msg_document::major_version(), msg_document::minor_version(), ובדוק קפדנות עם msg_document::strict().
  • המרה ל‑CFB: חילוץ מסמך CFB הבסיסי מקובץ MSG דרך msg_document::to_cfb_document().

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

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

ממשק API של הודעות MAPI ברמה גבוהה

  • צור הודעות: בנה דוא"ל מלא עם mapi_message::create(), ואז הגדר נושא, גוף, ו-HTML גוף דרך set_subject(), set_body(), ו-set_html_body().
  • הגדר פרטי השולח: הגדר את set_sender_name(), set_sender_email_address() ו-set_sender_address_type() עבור ההודעה היוצאת.
  • ניהול קבצים מצורפים: טען קבצים מצורפים מבייטים או זרמים באמצעות mapi_attachment::from_bytes() ו-mapi_attachment::from_stream(), ובדוק הודעות משובצות דרך is_embedded_message().
  • שמירה וטעינה מחדש: סיראליזציה עם mapi_message::save() וטעינה מחדש עם mapi_message::from_file() או mapi_message::from_stream().

היכן נעשה שימוש ב-API ברמה גבוהה

  • יצירת דוא"ל אוטומטית: צור אלפי קבצי MSG מותאמים אישית מרשומות נתונים בעבודות אצווה.
  • יצירת קיבוע בדיקה: בניית קבצי MSG ידועים-טובים עם תוכן צפוי למערכי מבחן אינטגרציה.
  • חילוץ קבצים מצורפים: טען קובץ MSG, עבור על הקבצים המצורפים ושמור כל אחד אל הדיסק.

המרת EML ו-MIME

  • טען EML ל‑mapi_message: פענח קובץ .eml סטנדרטי (RFC 5322 / MIME) לאובייקט mapi_message מלא דרך mapi_message::load_from_eml().
  • שמור mapi_message כ‑EML: סיראליזציה של mapi_message חזרה לפורמט MIME עם save_to_eml().
  • אמינות מסלול חזרה: הנושא, הגוף, השולח, הנמענים והקבצים המצורפים נשמרים במהלך מסעי EML ל‑MSG ל‑EML.

היכן נעשה שימוש בהמרת EML

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

קרא נושא מקובץ MSG

פתח קובץ Outlook MSG מזרם והדפס את הנושא — אין צורך ב-Microsoft Outlook.

#include <fstream>
#include <iostream>

#include "aspose/email/foss/msg/mapi_message.hpp"

int main()
{
    std::ifstream input("sample.msg", std::ios::binary);
    auto message = aspose::email::foss::msg::mapi_message::from_stream(input);
    std::cout << message.subject() << '\n';
}

צור ושמור הודעת MSG

בנה דוא"ל מלא עם השולח, הנמען והקובץ המצורף, ולאחר מכן כתוב אותו לשני הפורמטים MSG ו‑EML.

#include <fstream>

#include "aspose/email/foss/msg/mapi_message.hpp"

int main()
{
    auto message = aspose::email::foss::msg::mapi_message::create("Hello", "Body");
    message.set_sender_name("Alice");
    message.set_sender_email_address("alice@example.com");
    message.add_recipient("bob@example.com", "Bob");
    message.add_attachment("note.txt", std::vector<std::uint8_t>{'a', 'b', 'c'}, "text/plain");

    std::ofstream msg_output("hello.msg", std::ios::binary);
    message.save(msg_output);

    std::ofstream eml_output("hello.eml", std::ios::binary);
    message.save_to_eml(eml_output);
}
  

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

 עברית