Why to Convert
As a C++ developer, you may need to add email conversion features inside your applications. Email conversion is the process of transforming an email message from one format to another. For example, you may need to convert an MSG file format to HTML.
How Aspose.Total Helps for MSG to DOTM Conversion
Aspose.Total for C++ is a comprehensive suite of APIs that helps developers to work with various file formats. It includes APIs like Aspose.Email for C++ and Aspose.Words for C++. Aspose.Email for C++ API can be used to convert MSG file format to HTML. After that, Aspose.Words for C++ API can be used to export HTML to DOTM. Both APIs come under Aspose.Total for C++ package.
Aspose.Email for C++ API is a powerful email manipulation API that enables developers to create, read, and manipulate Outlook MSG, PST, EML, EMLX, and MHT file formats. It also allows developers to convert MSG to HTML. Aspose.Words for C++ API is a powerful word processing API that enables developers to create, read, and manipulate Word documents. It also allows developers to export HTML to DOTM.
Aspose.Total for C++ is a great choice for developers who need to work with various file formats. It provides a comprehensive suite of APIs that can be used to convert MSG file format to HTML and export HTML to DOTM. It is a cost-effective solution that helps developers to save time and money.
C++ API to Convert MSG to DOTM
- 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 DOTM format using Save method and set Dotm 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 Dotm as save format
doc->Save(u"convertedFile.Dotm");
Parse MSG File via C++
Not only you can convert your MSG to DOTM, 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 DOTM File Format Editing
You can also add document protection features in your app while exporting the document from MSG to DOTM. 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.Dotm");