Aspose.Email FOSS for C++ एक MIT-अनुज्ञा प्राप्त, ओपन सोर्स C ++ लाइब्रेरी है जो Microsoft Outlook .msg फ़ाइलों और कॉम्पाउंड फाइल बाइनरी (CFB) कंटेनर के साथ काम करने के लिए है। CMake के माध्यम से हेडर शामिल करें और तुरंत Microsoft आउटलुक या किसी भी मालिकाना रनटाइम को स्थापित किए बिना ईमेल संदेशों को पढ़ना, बनाना और संसाधित करना शुरू करें.
पुस्तकालय दो स्तरों का उपयोग प्रदान करता है। निम्न स्तर पर, cfb_reader और cfb_writer CFB बाइनरी कंटेनरों पार निर्देशिका प्रविष्टियों, पढ़ने और लिखने के लिए भंडारण नोड्स और स्ट्रीम डेटा, और कच्चे क्षेत्र लेआउट की जांच करें. msg_reader तथा msg_writer CF B के ऊपर MSG प्रारूप को संभालते हैं, MAPI संपत्ति धाराओं, प्राप्तकर्ता तालिकाओं और अनुलग्नक उप-भंडारण को उजागर करते हैं। उच्च स्तर में,mapi_message आपको स्क्रैच से नए संदेश बनाने, विषयों, पाठ, अनुबंधों और निकायों को पढ़ने देता है, तथा एमएसजी और ईएमएल प्रारुप के बीच परिवर्तित करता हैं.
पुस्तकालय किसी भी C++17 संकलक के साथ मंच पर बनाता है और इसमें कोई बाहरी निर्भरता नहीं होती, जिससे यह विंडोज, लिनक्स, मैकओएस, डॉकर कंटेनरों और एम्बेडेड सिस्टम के लिए उपयुक्त होता है।
अतिरिक्त सुविधाओं के साथ एक उद्यम संस्करण Aspose.Email for C++ के रूप में पेश किया जाता है।
cfb_reader::from_file(), cfb_reader::from_stream() या cfb_reader::from_bytes() के माध्यम से एक फाइल पथ, स्ट्रीम, या बाइट सरणी से मौजूदा CFB कंटेनर लोड करें।storage_ids(), stream_ids() और child_ids() का उपयोग करके भंडारणों और धाराओं की सूची बनाएं, औरresolve_path(). के साथ घिरा हुआ पदानुक्रम में नेविगेट करें।cfb_node::is_storage() और cfb_node::is_stream() के साथ नोड प्रकार की जांच करें, creation_time() तथा modified_time() द्वारा टाइमस्टैम्प पढ़ें।cfb_document के साथ प्रोग्रामेटिक रूप से CF B दस्तावेज़ बनाएं और cfb_writer::to_bytes() या cfb_writer::write_file() के माध्यम से बाइट्स या फ़ाइल में क्रमबद्ध करें।.msg फाइलों के लिए कंटेनर प्रारूप है सीएफबी प्रत्यक्ष पहुँच फोरेंसिक निरीक्षण और मरम्मत सक्षम बनाता है.msg_reader::from_file() या msg_reader::from_stream() के साथ Outlook MSG फाइलों को खोलें और अंतर्निहित MAPI गुण धाराओं और संलग्नक उप-भंडारण तक पहुँचें.msg_document से msg_writer::to_bytes() या msg_writer::write_file() के साथ MS G फाइलें उत्पन्न करें।msg_document::major_version(), msg_document::minor_version() के माध्यम से संस्करण मेटाडेटा तक पहुंचें और msg_document::strict() द्वारा सख्ती की जांच करें।msg_document::to_cfb_document() के माध्यम से एक MSG फ़ाइल से अंतर्निहित CF B दस्तावेज़ निकालें।.msg फ़ाइलों और मेटाडेटा या संलग्नकों को निकालें.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() के लिए फिर से लोડ करें।.eml फ़ाइल (RFC 5322 / MIME) को mapi_message ऑब्जेक्ट के माध्यम से एक पूर्ण mapi_message::load_from_eml() में पार्स करें।mapi_message को MIME प्रारूप में वापस क्रमबद्ध करें save_to_eml()।.eml और .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';
}
प्रेषक, प्राप्तकर्ता और संलग्नक के साथ एक पूर्ण ईमेल बनाएं, फिर इसे एमएसजी और ईएमएल दोनों प्रारूपों में लिखें।
#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);
}