Why to Convert
As a C++ developer, you may need to add email conversion features inside your applications. Email conversion is a process of transforming emails from one format to another. For example, you may need to convert an EML file format to HTML.
How Aspose.Total Helps for EML to SVG Conversion
Aspose.Total for C++ is a comprehensive package of APIs that helps developers to work with various file formats. It includes APIs for email conversion, document conversion, and other file formats. To convert EML file format to HTML, you can use Aspose.Email for C++ API. After that, you can use Aspose.Words for C++ API to export HTML to SVG. Both APIs come under Aspose.Total for C++ package.
Aspose.Email for C++ is a powerful API that helps developers to work with various email file formats. It supports a wide range of features such as reading, writing, and manipulating emails. It also supports conversion of emails from one format to another. With Aspose.Email for C++, you can easily convert EML file format to HTML.
Aspose.Words for C++ is a powerful API that helps developers to work with various document file formats. It supports a wide range of features such as reading, writing, and manipulating documents. It also supports conversion of documents from one format to another. With Aspose.Words for C++, you can easily export HTML to SVG.
Aspose.Total for C++ is a comprehensive package of APIs that helps developers to work with various file formats. It includes APIs for email conversion, document conversion, and other file formats. It helps developers to save time and effort by providing a single package of APIs for various file formats. With Aspose.Total for C++, you can easily convert EML file format to HTML and then export HTML to SVG.
C++ API to Convert EML to SVG
- 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 SVG format using Save method and set Svg 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 Svg as save format
doc->Save(u"convertedFile.Svg");
Parse EML File via C++
Not only you can convert your EML to SVG, 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 SVG File Format Editing
You can also add document protection features in your app while exporting the document from EML to SVG. 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.Svg");