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 create a backup of emails, to share emails with other users, or to store emails in a different format.
How Aspose.Total Helps for MSG to WordML Conversion
Aspose.Total for C++ is a comprehensive suite of APIs that can help you to easily convert MSG file format to HTML. The suite includes Aspose.Email for C++ and Aspose.Words for C++. Aspose.Email for C++ is a powerful API that can be used to convert MSG files to HTML. After that, Aspose.Words for C++ can be used to export HTML to WORDML. Both APIs are available as part of the Aspose.Total for C++ package.
The Aspose.Email for C++ API provides a wide range of features that can help you to easily convert MSG files to HTML. It supports a variety of file formats, including MSG, EML, MHTML, and HTML. It also provides a range of features such as the ability to read and write MSG files, the ability to convert MSG files to HTML, and the ability to extract attachments from MSG files.
The Aspose.Words for C++ API provides a range of features that can help you to easily export HTML to WORDML. It supports a variety of file formats, including DOC, DOCX, RTF, HTML, and WORDML. It also provides a range of features such as the ability to read and write WORDML files, the ability to convert HTML to WORDML, and the ability to extract images from WORDML files.
By using Aspose.Total for C++, you can easily convert MSG file format to HTML and then export HTML to WORDML. This can help you to quickly and easily add email conversion features to your applications.
C++ API to Convert MSG to WORDML
- Open MSG file using MailMessage class reference
- Convert MSG to HTML by using Save member function
- Load HTML by using Document class
- Save the document to WORDML format using Save method and set WordML 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 MSG file to be converted
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"sourceFile.msg");
// save MSG 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 WordML as save format
doc->Save(u"convertedFile.WordML");
Parse MSG File via C++
Not only you can convert your MSG to WORDML, but you can read, manipulate, and parse MSG 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 WORDML File Format Editing
You can also add document protection features in your app while exporting the document from MSG to WORDML. 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.WordML");