FAQ — Aspose.Email FOSS для C++
Лицензирование
Какую лицензию использует Aspose.Email FOSS for C++?
Лицензия MIT. Ключ лицензии не требуется. Свободно используйте в личных, коммерческих и открытых проектах
проектах. Единственное обязательство — включить уведомление об авторском праве и текст лицензии в копии
программного обеспечения.
Могу ли я использовать его в коммерческих продуктах?
Да. Лицензия MIT разрешает неограниченное коммерческое использование, включая встраивание в проприетарные приложения, без роялти.
Установка
Как установить Aspose.Email FOSS для C++?
Клонируйте репозиторий и добавьте его как подкаталог CMake:
git clone https://github.com/aspose-email-foss/Aspose.Email-FOSS-for-Cpp.gitВ вашем CMakeLists.txt:
add_subdirectory(Aspose.Email-FOSS-for-Cpp)
target_link_libraries(your_target PRIVATE aspose_email_foss)Какие версии компиляторов поддерживаются?
Любой компилятор C++17: GCC 9+, Clang 10+ или MSVC 2019+. Библиотека собирается на Windows, Linux и macOS.
Есть ли какие-либо внешние зависимости?
Нет. Библиотека не имеет внешних зависимостей. Она использует только стандартную библиотеку C++.
Поддержка форматов
Какие форматы электронной почты поддерживаются?
| Формат | Чтение | Запись |
|---|---|---|
| MSG (Outlook Message) | Да | Да |
| EML (RFC 5322 / MIME) | Да | Да |
| CFB (Compound File Binary) | Да | Да |
Могу ли я конвертировать между MSG и EML?
Да. Загрузите файл EML с mapi_message::load_from_eml() и сохраните как MSG с
mapi_message::save(). Выполните преобразование в обратном направлении с mapi_message::from_file()
за которым следует save_to_eml().
Использование API
Как прочитать файл MSG?
Используйте mapi_message::from_file() или mapi_message::from_stream():
#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 с нуля?
Используйте mapi_message::create() для создания сообщения, установки полей и сохранения:
#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");
std::ofstream output("hello.msg", std::ios::binary);
message.save(output);
}Как мне получить доступ к низкоуровневому контейнеру CFB?
Используйте cfb_reader для открытия CFB‑файла и обхода его дерева каталогов:
#include "aspose/email/foss/cfb/cfb_reader.hpp"
auto reader = aspose::email::foss::cfb::cfb_reader::from_file("file.msg");
auto storages = reader.storage_ids();
auto streams = reader.stream_ids();Вы также можете перемещаться по пути с помощью resolve_path() или находить дочерний элемент по имени с помощью find_child_by_name().
Как записать файл CFB?
Создайте cfb_document, добавьте хранилища и потоки, затем сериализуйте с помощью cfb_writer:
#include "aspose/email/foss/cfb/cfb_writer.hpp"
auto bytes = aspose::email::foss::cfb::cfb_writer::to_bytes(document);
// Or write directly to a file:
aspose::email::foss::cfb::cfb_writer::write_file(document, "output.cfb");Известные ограничения
Поддерживает ли эта библиотека IMAP, SMTP или POP3?
Нет. Aspose.Email FOSS для C++ читает и записывает только локальные файлы. Он не подключается к почтовым серверам.
Поддерживается TNEF (winmail.dat)?
Нет. Transport Neutral Encapsulation Format не анализируется и не генерируется.
Есть ли API календаря или встреч?
Нет. Специфические для календаря свойства MAPI можно получить универсально через методы свойств, но специализированного API календаря нет.
Какова текущая версия выпуска?
Версия 0.1.0 — первый публичный релиз. API может изменяться в последующих версиях.