Why to Convert
As a C++ developer, you may need to add email conversion features inside your applications. This could be for a variety of reasons, such as to make the emails more accessible to a wider audience, or to make them easier to store and manage. Whatever the reason, you may need to convert emails from the EMLX file format to HTML.
How Aspose.Total Helps for EMLX to DOTX Conversion
Aspose.Total for C++ is a suite of APIs that can help you with this task. It includes the Aspose.Email for C++ API, which can be used to convert EMLX files to HTML. Once the emails have been converted, you can then use the Aspose.Words for C++ API to export the HTML to DOTX. Both of these APIs are included in the Aspose.Total for C++ package, so you can access them both with a single purchase.
Using Aspose.Total for C++, you can quickly and easily convert emails from EMLX to DOTX. The APIs are easy to use, and you can be sure that the conversion process will be accurate and reliable. Plus, you can save time and money by purchasing the Aspose.Total for C++ package, rather than buying the individual APIs separately.
C++ API to Convert EMLX to DOTX
- Open EMLX file using MailMessage class reference
- Convert EMLX to HTML by using Save member function
- Load HTML by using Document class
- Save the document to DOTX format using Save method and set Dotx as SaveFormat
Get Started with C++ File Format APIs
Install from command line as nuget install Aspose.Total.Cpp
or via Package Manager Console of Visual Studio with Install-Package Aspose.Total.Cpp
.
Alternatively, get the offline MSI installer or DLLs in a ZIP file from downloads .
// load the EMLX file to be converted
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"sourceFile.emlx");
// save EMLX 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");
Parse EMLX File via C++
Not only you can convert your EMLX to DOTX, but you can read, manipulate, and parse EMLX document. You can get subject, address, body, recipients information of the email by using MapiMessage class of Aspose.Email for C++ API. For example, you can check for a specific sender email for the conversion by using get_SenderEmailAddress() property.
// create an instance of MapiMessage from file
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(dataDir + L"message.emlx");
// get subject
System::Console::WriteLine(System::String(L"Subject:") + msg->get_Subject());
// get from address
System::Console::WriteLine(System::String(L"From:") + msg->get_SenderEmailAddress());
// 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 to Restrict DOTX File Format Editing
You can also add document protection features in your app while exporting the document from EMLX to DOTX. Adding protection to your document is a simple process, as all you need to do is apply the protection method to your document. You can set protection type to ReadOnly to restrict the user to edit the document.
// 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");