Are you are a C++ developer looking to add email conversion features inside your applications? Using Aspose.Email for C++ you can convert EMAIL file format to HTML. After that, by using Aspose.Words for C++ API, you can export HTML to DOCX. Both APIs come under Aspose.Total for C++ package.
C++ API to Convert EMAIL to DOCX
- Open EMAIL file using MailMessage class reference
- Convert EMAIL to HTML by using Save member function
- Load HTML by using Document class
- Save the document to DOCX format using Save method and set Docx 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 EMAIL file to be converted
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"sourceFile.msg");
// save EMAIL 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 Docx as save format
doc->Save(u"convertedFile.Docx");
Parse EMAIL File via C++
Not only you can convert your EMAIL to DOCX, but you can read, manipulate, and parse EMAIL 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.msg");
// 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 DOCX File Format Editing
You can also add document protection features in your app while exporting the document from EMAIL to DOCX. 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.Docx");
Explore EMAIL Conversion Options with C++
What is EMAIL File Format
An email file has a specific format that is recognized by email programs. The format includes a header and a body, which are separated by a blank line. The header contains the senders email address, the recipients email address, the subject of the email, and the date and time the email was sent. The body of the email contains the actual message. Email files can be in either plain text or HTML format. HTML emails are more common these days, as they can include images and other formatting.
Read MoreWhat is DOCX File Format
DOCX is a file format for Word documents, developed by Microsoft. It is a XML-based format that allows for more complex document structures than the older DOC format, and supports features such as document encryption, digital signatures, and watermarks. DOCX files are also smaller in size than their DOC counterparts, making them more efficient to store and transmit.
Read More