
Microsoft Outlook и другие популярные почтовые клиенты используют EML(стандарт MIME RFC 822) в качестве стандартного формата. EML — это аббревиатура для электронной почты или email. Аналогично, это расширение файла для сообщения электронной почты, сохраненного в файле в протоколе Internet Message Format для сообщений электронной почты. Файлы EML обычно содержат простой текст ASCII для основного текста сообщения, заголовков и гиперссылок, а также вложений. Однако есть одна угроза, связанная с форматом EML, заключается в том, что это может быть фишинговое письмо, а вложение может: Заразить ваш компьютер вредоносным ПО, если вы откроете вложение.
Более того, если мы сохраним офлайн-копию этих файлов, вредоносное ПО может легко повлиять на них и данные могут быть утеряны. Также, чтобы открыть файлы EML, нам понадобится поддерживаемое приложение (Microsoft Outlook 365, Microsoft Windows Mail, Mozilla Thunderbird и т. д.).Поэтому превентивной мерой может стать его преобразование в формат MHT.
Бесплатный API обработки электронной почты
Aspose.Email Cloud — наш отмеченный наградами API, предлагающий возможности создания, обработки и преобразования популярных форматов электронной почты в другие поддерживаемые форматы. Так что создайте свое собственное облачное решение для управления электронной почтой с поддержкой OAuth и отправляйте простые или MIME-сообщения с вложениями или без них. Доступ к API на любой платформе, включая Windows, Linux, macOS, и в любом типе приложения, т. е. Desktop, Mobile, Web, hybrid и т. д.
Чтобы напрямую использовать API в языке программирования, попробуйте использовать наш языковой Cloud SDK, который является оболочкой для Cloud SDK. В этой статье мы сосредоточимся на преобразовании файлов EML в формат MHT с помощью Aspose.Email Cloud SDK для .NET. Чтобы использовать SDK, вам необходимо иметь одну из поддерживаемых (или совместимых с поддерживаемыми) платформ .NET:
- .NETFramework 2.0
- .NETFramework 4.5.2
- .NETСтандарт 2.0
- МоноAndroid 6.0
- Xamarin.iOS 1.0
- Xamarin.Mac 2.0
Установка
Чтобы использовать Cloud SDK, первым шагом является его установка. Он доступен для загрузки на NuGet и GitHub. Пожалуйста, выполните следующую команду в окне терминала, чтобы выполнить установку для NuGet:
nuget install Aspose.Email-Cloud
При использовании .NET CLI:
dotnet add package Aspose.Email-Cloud
Если вы используете Visual Studio, то пакет также можно установить с помощью Package Manager Console. Выполните следующую команду:
PM> Install-Package Aspose.Email-Cloud

Image 1:- Aspose.Words NuGet package installed.
Менеджер пакетов NuGet – Visual Studio
Другой самый простой подход — установить SDK через диспетчер пакетов NuGet в среде Visual Studio IDE.
- Откройте обозреватель решений.
- Разверните проект и щелкните правой кнопкой мыши папку Packages в вашем решении.
- Выберите опцию «Управление пакетами NuGet…»
- Нажмите на вкладку «Обзор» и найдите «Aspose.Email-Cloud».
- Нажмите на пакет Aspose.Email-Cloud, выберите соответствующую версию на правой вкладке и нажмите кнопку «Добавить пакет».

Image 2:- Aspose.Words Package in NuGet Package Manager.
Подписка на облачный аккаунт
Наши API доступны только уполномоченным лицам, поскольку данные, хранящиеся в облачном хранилище, доступны через облачные API. Подписка бесплатна, и никаких авансовых платежных данных не требуется. Выполняйте до 150 бесплатных операций по обработке документов. Поэтому, как только вы будете удовлетворены возможностями API, вы можете рассмотреть возможность выбора лицензионной подписки, которая может стоить всего 0,005 долл. США / вызов API. Для получения более подробной информации посетите Цены.
Теперь приступайте к созданию учетной записи, посетив панель управления Aspose.Cloud. Данные кредитной карты или другие платежные данные не требуются. Если у вас есть учетная запись GitHub или Google, просто зарегистрируйтесь или нажмите кнопку создать новую учетную запись и укажите необходимую информацию. Теперь войдите в панель управления, используя учетные данные, разверните раздел «Приложения» на панели управления и прокрутите вниз до раздела «Учетные данные клиента», чтобы увидеть данные Client ID и Client Secret.

Изображение 3: Учетные данные клиента на панели управления Aspose.Cloud.
EML в MHT в C#
Чтобы преобразовать файл EML в формат MHT с помощью C# .NET, выполните указанные ниже действия.
- Первый шаг — создать объект класса EmailCloud, передав данные ClientID и Client Secret в качестве аргументов.
- Во-вторых, прочитайте исходный файл электронной почты в экземпляре File.OpenRead.
- В-третьих, создайте экземпляр EmailConvertRequest, передавая формат входного файла, формат результирующего файла и потоковый объект, содержащий входной EML-файл.
- Теперь вызовите метод Email.Convert(…), чтобы инициировать операцию преобразования.
- Наконец, вызовите пользовательский метод для сохранения полученного файла на локальном диске с помощью экземпляра File.Create.
// Для получения полных примеров и файлов данных перейдите по ссылке
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet
// Получите учетные данные клиента с https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// создать экземпляр EmailCloud API
var emailApi = new EmailCloud(clientSecret, clientID);
// Имя исходного файла EML
string name = "sample.eml";
// имя результирующего MHT-файла
string resultantFile = "converted.mht";
// формат входного файла электронной почты
string fromFormat = "eml";
// формат результирующего файла
string toFormat = "Mhtml";
try
{
// прочитать исходный EML для потокового объекта
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
{
// создать экземпляр запроса EmailConvert, передающий входные и выходные форматы, а также поток файлов
var convertRequest = new EmailConvertRequest(fromFormat, toFormat, file);
// Выполнить операцию преобразования
var response = emailApi.Email.Convert(convertRequest);
// вывести сообщение об успешном завершении, если преобразование прошло успешно
if (response != null && response.Equals("OK"))
{
// распечатать сообщение об успешном завершении
Console.WriteLine("Successfully converted EML to MHT !");
Console.ReadKey();
}
// сохранить полученный файловый поток на локальном диске
saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
}
}catch (Exception ex)
{
// вывести исключение в консоль
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// пользовательский метод сохранения вывода на системный диск
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}

Изображение 4: Предварительный просмотр преобразования EML в MHT.
Файлы, использованные в приведенном выше примере, можно загрузить с sample.eml и converted.mht.
Конвертация EML в MHT с помощью cURL
Поскольку Aspose.Email Cloud разработан в соответствии с архитектурой REST, к нему можно легко получить доступ с помощью команд cURL. Используйте терминальное приложение/командную строку для доступа к API. Поэтому первым шагом является генерация токена доступа JWT на основе учетных данных клиента, указанных на панели управления Aspose.Cloud. Выполните следующую команду для генерации токена JWT.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Теперь мы рассмотрим шаги использования команды cURL для преобразования файлов .eml, уже имеющихся в облачном хранилище, в формат MHTML. Вывод сохраняется в системе с помощью параметра -o.
curl -X GET "https://api.aspose.cloud/v4.0/email/as-file?fileName=sample.eml&format=Mhtml" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o resultant.mht
Если вам необходимо выполнить преобразование файла .eml для загрузки с локального диска, попробуйте использовать следующую команду cURL:
curl -X PUT "https://api.aspose.cloud/v4.0/email/convert?fromFormat=Eml&toFormat=Mhtml" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d @sample.eml \
-o converted.mht
Заключение
В этой статье мы осветили возможности Aspose.Email Cloud для обработки популярных форматов электронной почты. API позволяет вам создавать приложения для обработки электронной почты, чтобы применять красные флаги к сообщениям электронной почты, применять вложения электронной почты, а также загружать вложения электронной почты и многое другое. Мы обсудили шаги по выполнению преобразования файлов EML в MHT с использованием C# .NET и команд cURL. Кроме того, .NET Cloud SDK разработан в соответствии с лицензией MIT. Загрузите и настройте их абсолютно бесплатно. Полный исходный код доступен на GitHub.
Мы также предоставили swagger view облачных API, чтобы вы могли тестировать API в веб-браузере. Кроме того, если у вас возникнут какие-либо проблемы или у вас появятся дополнительные вопросы, не стесняйтесь обращаться к нам через бесплатный форум поддержки клиентов.
Похожие статьи
Мы также рекомендуем посетить следующие ссылки, чтобы узнать больше о: