常见问题 — 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 可能在后续版本中演变。