Отправить документ Word в теле электронной почты с помощью С++

Электронная почта является основным источником общения через Интернет, и в большинстве случаев важна структура и форматирование электронной почты. Однако большинство почтовых клиентов не предоставляют расширенных параметров форматирования, необходимых для разработки высококачественного содержимого электронной почты. В таких случаях хорошо отформатированный документ Word можно использовать в качестве тела электронного письма. В этой статье вы узнаете, как отправить документ Word в качестве тела сообщения электронной почты с помощью C++.

C++ API для отправки документов Word в теле письма

Чтобы отправить документ Word в теле письма, мы будем использовать API Aspose.Words для C++ и Aspose.Email для C++. Первый позволяет создавать, изменять и конвертировать файлы Microsoft Word. Принимая во внимание, что последний позволяет создавать, манипулировать и конвертировать файлы Outlook. Мы будем использовать Aspose.Words для C++ API для преобразования документа Word в формат MHTML и Aspose.Email для C++ API для создания и отправки электронной почты. Вы можете либо установить API через NuGet, либо загрузить их напрямую из раздела Загрузки.

PM> Install-Package Aspose.Words.Cpp
PM> Install-Package Aspose.Email.Cpp

Отправка документа Word в теле сообщения электронной почты с использованием C++

Ниже приведены шаги для отправки документа Word в теле сообщения электронной почты:

  • Загрузите документ Word с помощью класса Aspose::Words::Document.
  • Создайте экземпляр класса MemoryStream.
  • Сохраните документ Word в MemoryStream в формате MHTML.
  • Создайте экземпляр класса Aspose::Email::MailMessage, используя MHTML, сохраненный в MemoryStream.
  • Установите Кому, От и Тему сообщения электронной почты.
  • Создайте экземпляр класса Aspose::Email::Clients::Smtp::SmtpClient.
  • Установите хост, имя пользователя, пароль, порт и параметры безопасности.
  • Отправьте сообщение электронной почты, используя команду [SmtpClient->Send(System::SharedPtr сообщение) 11 метод.

В следующем примере кода показано, как отправить документ Word в виде тела сообщения электронной почты с помощью C++.

// Пути каталогов.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Загрузите документ Word, используя класс Aspose.Words Document.
System::SharedPtr<Aspose::Words::Document> doc = System::MakeObject<Aspose::Words::Document>(sourceDataDir + u"Sample 1.docx");

// Сохраните документ в MemoryStream в формате MHTML.
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 без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как отправить документ Word в теле письма с помощью C++. Подводя итог, вы узнали, как преобразовать документ Word в формат MHTML с помощью Aspose.Words for C++ API и как отправить MHTML в виде электронного письма с помощью Aspose.Email для C++ API. Оба этих API предоставляют множество функций для работы с файлами MS Word и электронной почты. Вы можете подробно изучить эти API, посетив их официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.

Смотрите также