电子邮件是通过 Internet 进行通信的主要来源,在大多数情况下,电子邮件的布局和格式很重要。但是,大多数电子邮件客户端不提供设计高质量电子邮件内容所需的增强格式选项。在这种情况下,格式良好的 Word 文档可以用作电子邮件的正文。在本文中,您将学习如何使用 C++ 将 Word 文档作为电子邮件正文发送。
用于在电子邮件正文中发送 Word 文档的 C++ API
为了在电子邮件正文中发送 Word 文档,我们将使用 Aspose.Words for C++ 和 Aspose.Email for C++ API。前者允许您生成、修改和转换 Microsoft Word 文件。而后者允许您创建、操作和转换 Outlook 文件。我们将使用 Aspose.Words for C++ API 将 Word 文档转换为 MHTML 格式,使用 Aspose.Email for C++ API 生成和发送电子邮件。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载它们。
PM> Install-Package Aspose.Words.Cpp
PM> Install-Package Aspose.Email.Cpp
使用 C++ 在电子邮件正文中发送 Word 文档
以下是在电子邮件正文中发送 Word 文档的步骤:
- 使用 Aspose::Words::Document 类加载 Word 文档。
- 创建 MemoryStream 类的实例。
- 将 Word 文档以 MHTML 格式保存到 MemoryStream。
- 使用保存在 MemoryStream 中的 MHTML 创建 Aspose::Email::MailMessage 类的实例。
- 设置电子邮件的收件人、发件人和主题。
- 创建 Aspose::Email::Clients::Smtp::SmtpClient 类的实例。
- 设置主机、用户名、密码、端口和安全选项。
- 使用 SmtpClient->Send(System::SharedPtr消息) 方法。
以下示例代码显示了如何使用 C++ 将 Word 文档作为电子邮件正文发送。
// 目录路径。
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// 使用 Aspose.Words Document 类加载 Word 文档。
System::SharedPtr<Aspose::Words::Document> doc = System::MakeObject<Aspose::Words::Document>(sourceDataDir + u"Sample 1.docx");
// 将文档以 MHTML 格式保存到 MemoryStream 中。
System::SharedPtr<System::IO::MemoryStream> stream = System::MakeObject<System::IO::MemoryStream>();
doc->Save(stream, SaveFormat::Mhtml);
// 将流倒回到开头,以便 Aspose.Email 可以读取它。
stream->set_Position(0);
// 创建 MailMessage 类的实例
System::SharedPtr<Aspose::Email::MailMessage> message = MailMessage::Load(stream, System::MakeObject<Aspose::Email::MhtmlLoadOptions>());
// 从电子邮件地址设置
message->set_From(u"your_from@email.com");
// 设置为电子邮件地址
message->set_To(u"your_to@email.com");
// 设置电子邮件主题
message->set_Subject(u"Aspose.Words + Aspose.Email MHTML Test Message");
// 创建 SmtpClient 类的实例
System::SharedPtr<Aspose::Email::Clients::Smtp::SmtpClient> client = System::MakeObject<Aspose::Email::Clients::Smtp::SmtpClient>();
// 设置主机,例如:smtp.gmail.com
client->set_Host(u"your_smtp.com");
// 设置电子邮件地址
client->set_Username(u"your_email@email.com");
// 设置密码
client->set_Password(u"your_password");
// 设置端口
client->set_Port(587);
// 设置安全选项
client->set_SecurityOptions(SecurityOptions::SSLExplicit);
// 发送电子邮件
client->Send(message);
获得免费许可证
您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,您学习了如何使用 C++ 在电子邮件正文中发送 Word 文档。总而言之,您学习了如何使用 Aspose.Words for C++ API 将 Word 文档转换为 MHTML 格式,以及如何使用 Aspose.Email for C++ API 将 MHTML 作为电子邮件发送。这两个 API 都提供了许多用于处理 MS Word 和电子邮件文件的功能。您可以通过访问它们的官方文档来详细探索这些 API。如有任何问题,请随时通过我们的 免费支持论坛 与我们联系。