常见问题 — Aspose.Email FOSS for C++

常见问题 — Aspose.Email FOSS for C++

许可

Aspose.Email FOSS for C++ 使用什么许可证?

MIT 许可证。无需许可证密钥。可在个人、商业和开源
项目中自由使用。唯一的义务是在软件的副本中包含版权声明和许可证文本

我可以在商业产品中使用它吗?

是的。MIT 许可证允许无限制的商业使用,包括嵌入专有应用程序,且无需版税费用。


安装

如何安装 Aspose.Email FOSS for 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 之间进行转换吗?

是的。使用 mapi_message::load_from_eml() 加载 EML 文件,并使用 mapi_message::save() 保存为 MSG。
使用 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 for C++ 仅读取和写入本地文件。它不连接到 邮件服务器。

是否支持 TNEF(winmail.dat)?

不。传输中立封装格式未被解析或生成。

有没有日历或预约 API?

不。可以通过属性方法通用访问特定于日历的 MAPI 属性,但没有专用的日历 API。

当前发布版本是什么?

版本 0.1.0 — 第一次公开发布。API 可能在后续版本中演变。

 中文