Електронна пошта до MHT

Microsoft Outlook та інші популярні клієнти електронної пошти використовують EML(стандарт MIME RFC 822) як стандартний формат. EML - це абревіатура для електронної пошти або електронної пошти. Подібним чином, це розширення файлу для повідомлення електронної пошти, збереженого у файлі в протоколі формату Інтернет-повідомлення для повідомлень електронної пошти. Файли EML зазвичай містять простий текст ASCII для основного тексту повідомлення, заголовків і гіперпосилань, а також вкладень. Однак існує одна загроза, пов’язана з форматом EML: це може бути фішингове повідомлення електронної пошти, а вкладення може: заразити вашу машину шкідливим програмним забезпеченням, якщо ви відкриєте вкладення.

Крім того, якщо ми збережемо автономну копію цих файлів, зловмисне програмне забезпечення може легко вразити їх і дані можуть бути втрачені. Крім того, щоб відкривати файли EML, нам потрібна підтримувана програма (Microsoft Outlook 365, Microsoft Windows Mail, Mozilla Thunderbird тощо).Тому превентивним заходом може бути його перетворення у формат MHT.

Безкоштовний API обробки електронної пошти

Aspose.Email Cloud — це наш відзначений нагородами API, який пропонує можливості створювати, маніпулювати та перетворювати популярні формати електронної пошти в інші підтримувані формати. Тож створіть власне хмарне рішення для керування електронною поштою з підтримкою OAuth і надсилайте прості електронні листи або повідомлення електронної пошти MIME із вкладеннями чи без них. API доступу на будь-якій платформі, включаючи Windows, Linux, macOS, і в будь-якому додатку, наприклад, настільному, мобільному, веб-, гібридному тощо.

Щоб напряму використовувати API у межах мови програмування, спробуйте скористатися нашим спеціальним для мови Cloud SDK, який є оболонкою Cloud SDK. У цій статті ми зосередимося на перетворенні файлів EML у формат MHT за допомогою Aspose.Email Cloud SDK for .NET. Щоб використовувати SDK, вам потрібно мати одну з підтримуваних (або сумісних із підтримуваними) платформами .NET:

  • .NETFramework 2.0
  • .NETFramework 4.5.2
  • .NETStandard 2.0
  • MonoAndroid 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, пакет також можна встановити за допомогою консолі диспетчера пакетів. Будь ласка, виконайте таку команду:

PM> Install-Package Aspose.Email-Cloud
Зображення 1: - Встановлено пакет Aspose.Words NuGet.

Зображення 1: - Встановлено пакет Aspose.Words NuGet.

Менеджер пакетів NuGet – Visual Studio

Ще один найпростіший підхід — установити SDK через диспетчер пакетів NuGet у Visual Studio IDE.

  1. Відкрийте провідник рішень.
  2. Розгорніть проект і клацніть правою кнопкою миші папку Packages у своєму рішенні.
  3. Виберіть параметр «Керувати пакетами NuGet…».
  4. Натисніть вкладку «Огляд» і знайдіть «Aspose.Email-Cloud»
  5. Клацніть пакет Aspose.Email-Cloud, виберіть відповідну версію на правій вкладці та натисніть кнопку «Додати пакет».
Зображення 2: - Пакет Aspose.Words у менеджері пакетів NuGet.

Зображення 2: - Пакет Aspose.Words у менеджері пакетів NuGet.

Підписка на хмарний обліковий запис

Наші API доступні лише авторизованим особам, оскільки дані, що зберігаються в хмарному сховищі, доступні через Cloud API. Підписка безкоштовна, і жодних реквізитів передоплати не потрібно. Виконайте до 150 безкоштовних операцій обробки документів. Отже, коли ви будете задоволені можливостями API, ви можете розглянути можливість вибору підписки на ліцензію, яка може коштувати всього 0,005 доларів США за виклик API. Для отримання додаткової інформації відвідайте сторінку Ціни.

Тепер перейдіть до створення облікового запису, відвідавши інформаційну панель Aspose.Cloud. Кредитна картка чи інші платіжні реквізити не потрібні. Якщо у вас є обліковий запис GitHub або Google, просто зареєструйтеся або натисніть кнопку створити новий обліковий запис і надайте необхідну інформацію. Тепер увійдіть на інформаційну панель, використовуючи облікові дані, розгорніть розділ «Програми» на інформаційній панелі та прокрутіть униз до розділу «Облікові дані клієнта», щоб переглянути дані про ідентифікатор клієнта та секрет клієнта.

Облікові дані клієнта

Зображення 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();
}
Попередній перегляд EML до MHT

Зображення 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.

Ми також надали пишний вигляд Cloud API, щоб ви могли перевірити API у веб-переглядачі. Крім того, якщо у вас виникнуть проблеми або у вас виникнуть додаткові запитання, зв’яжіться з нами через безкоштовний форум підтримки клієнтів.

Схожі статті

Ми також рекомендуємо відвідати такі посилання, щоб дізнатися більше про: