Вы разработчик C++ и хотите добавить функции преобразования электронной почты в свои приложения? Используя Aspose.Eml для C++ , вы можете преобразовать формат файла EML в HTML. После этого, используя API Aspose.Words for C++ , вы можете экспортировать HTML в DOTX. Оба API входят в пакет Aspose.Total for C++ .
C++ API для преобразования EML в DOTX
- Откройте файл EML, используя ссылку на класс MailMessage .
- Преобразуйте EML в HTML с помощью функции-члена Save .
- Загрузите HTML с помощью класса Document .
- Сохраните документ в формате DOTX с помощью метода Save и установите Dotx в качестве SaveFormat.
Требования к конвертации
Установите из командной строки как nuget install Aspose.Total.Cpp
или через консоль диспетчера пакетов Visual Studio с помощью Install-Package Aspose.Total.Cpp
.
Кроме того, вы можете получить автономный установщик MSI или библиотеки DLL в ZIP-файле из загрузки .
// load the EML file to be converted
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"sourceFile.eml");
// save EML as a HTML
msg->Save(u"HtmlOutput.html", SaveOptions::get_DefaultHtml());
// load HTML with an instance of Document
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"HtmlOutput.html");
// call save method while passing Dotx as save format
doc->Save(u"convertedFile.Dotx");
Разобрать файл EML через C++
Вы можете не только конвертировать EML в DOTX, но и читать, манипулировать и анализировать документ EML. Вы можете получить информацию о теме, адресе, теле и получателях электронной почты, используя класс MapiMessage API Aspose.Eml для C++ . Например, вы можете проверить адрес электронной почты отправителя для конверсии, используя свойство get_SenderEmlAddress().
// create an instance of MapiMessage from file
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(dataDir + L"message.eml");
// get subject
System::Console::WriteLine(System::String(L"Subject:") + msg->get_Subject());
// get from address
System::Console::WriteLine(System::String(L"From:") + msg->get_SenderEmlAddress());
// get body
System::Console::WriteLine(System::String(L"Body") + msg->get_Body());
// get recipients information
System::Console::WriteLine(System::String(L"Recipient: ") + msg->get_Recipients());
C++ API для ограничения редактирования формата файла DOTX
Вы также можете добавить функции защиты документов в свое приложение при экспорте документа из EML в DOTX. Добавление защиты к вашему документу — это простой процесс, так как все, что вам нужно сделать, это применить метод защиты к вашему документу. Вы можете установить тип защиты ReadOnly, чтобы запретить пользователю редактировать документ.
// create a new document and protect it with a password.
auto doc = System::MakeObject<Document>();
// apply Document Protection.
doc->Protect(ProtectionType::ReadOnly, u"password");
// save the document.
doc->Save(u"DocumentProtection.PasswordProtection.Dotx");