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 emails from one format to another. This is often done to make the emails more accessible, or to make them compatible with other applications.
How Aspose.Total Helps for EML to EPUB Conversion
Aspose.Total for C++ is a comprehensive suite of APIs that enables developers to create, manipulate, and convert a wide range of file formats. It includes two APIs that are particularly useful for email conversion: Aspose.Email for C++ and Aspose.Words for C++.
Using Aspose.Email for C++, you can convert EML file format to HTML. After that, by using Aspose.Words for C++ API, you can export HTML to EPUB. Both APIs come under Aspose.Total for C++ package.
Aspose.Email for C++ is a powerful email processing API that enables developers to create, read, and manipulate emails in a variety of formats. It supports a wide range of email formats, including EML, MSG, MHTML, and more. It also provides features for managing attachments, extracting email headers, and more.
Aspose.Words for C++ is a powerful document processing API that enables developers to create, read, and manipulate documents in a variety of formats. It supports a wide range of document formats, including DOC, DOCX, HTML, PDF, and more. It also provides features for managing document elements, extracting text, and more.
By combining the features of Aspose.Email for C++ and Aspose.Words for C++, you can easily convert emails from one format to another. This makes it easy to add email conversion features to your applications.
C++ API to Convert EML to EPUB
- Open EML file using MailMessage class reference
- Convert EML to HTML by using Save member function
- Load HTML by using Document class
- Save the document to EPUB format using Save method and set Epub 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 EML file to be converted
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"sourceFile.eml");
// save EML 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 Epub as save format
doc->Save(u"convertedFile.Epub");
Parse EML File via C++
Not only you can convert your EML to EPUB, but you can read, manipulate, and parse EML 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.eml");
// 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 EPUB File Format Editing
You can also add document protection features in your app while exporting the document from EML to EPUB. 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.Epub");