Are you are a C++ developer looking to add email conversion features inside your applications? Using Aspose.Email for C++ you can convert EMLX file format to HTML. After that, by using Aspose.Words for C++ API, you can export HTML to DOCM. Both APIs come under Aspose.Total for C++ package.
C++ API to Convert EMLX to DOCM
- 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 DOCM format using Save method and set Docm 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 Docm as save format
doc->Save(u"convertedFile.Docm");
Parse EMLX File via C++
Not only you can convert your EMLX to DOCM, 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 DOCM File Format Editing
You can also add document protection features in your app while exporting the document from EMLX to DOCM. 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.Docm");
Explore EMLX Conversion Options with C++
What is EMLX File Format
An EMLX file is a mail message file created by Apple Mail, a default email client for macOS. It contains the email message in MIME format, along with attachments, if any. EMLX files are typically saved in the Mail directory of a users home folder. EMLX files can be opened with Apple Mail or other email clients that support the format. They can also be opened with text editors, which can be useful for viewing the raw email data. EMLX files were introduced in Mac OS X 10.4 (Tiger). Prior to that, Apple Mail used the . EML format for saved email messages.
Read MoreWhat is DOCM File Format
The DOCM file format is a Microsoft Word 2007 Marco File. It is a XML document that contains macros, scripts, and other programming code. The DOCM file format is used to store macro-enabled documents. These documents can be opened and edited using Microsoft Word 2007 or later. DOCM files are typically used to store documents that contain macros that automate tasks.
Read More