Why to Convert
C++ developers often need to add email conversion features to their applications. This is because the MSG file format is not compatible with many other applications, and so it needs to be converted to a more widely accepted format such as HTML or RTF.
How Aspose.Total Helps for MSG to RTF Conversion
Aspose.Total for C++ is a comprehensive suite of APIs that provides developers with the tools they need to add email conversion features to their applications. It includes two APIs, Aspose.Email for C++ and Aspose.Words for C++, which can be used to convert MSG files to HTML and then export HTML to RTF.
Aspose.Email for C++ is a powerful API that enables developers to convert MSG files to HTML with just a few lines of code. It supports a wide range of features, including the ability to convert MSG files to HTML with embedded images, attachments, and other content.
Aspose.Words for C++ is an API that enables developers to export HTML to RTF. It supports a wide range of features, including the ability to export HTML to RTF with embedded images, attachments, and other content.
By using Aspose.Total for C++, developers can quickly and easily add email conversion features to their applications. It provides a comprehensive suite of APIs that can be used to convert MSG files to HTML and then export HTML to RTF. This makes it easy for developers to add email conversion features to their applications without having to write complex code.
C++ API to Convert MSG to RTF
- 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 RTF format using Save method and set Rtf 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 Rtf as save format
doc->Save(u"convertedFile.Rtf");
Parse MSG File via C++
Not only you can convert your MSG to RTF, 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 RTF File Format Editing
You can also add document protection features in your app while exporting the document from MSG to RTF. 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.Rtf");