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 이메일 메시지를 보내세요. Windows, Linux, macOS를 포함한 모든 플랫폼과 데스크톱, 모바일, 웹, 하이브리드 등 모든 애플리케이션 유형에서 API에 액세스하세요.

프로그래밍 언어 내에서 API를 직접 사용하려면 Cloud SDK를 감싸는 래퍼인 언어별 Cloud SDK를 사용해 보세요. 이 문서에서는 Aspose.Email Cloud SDK for .NET을 사용하여 EML 파일을 MHT 형식으로 변환하는 것에 집중할 것입니다. SDK를 사용하려면 지원되는(또는 지원되는 .NET 프레임워크와 호환되는).NET 프레임워크 중 하나가 필요합니다.

  • .NET프레임워크 2.0
  • .NET프레임워크 4.5.2
  • .NET 표준 2.0
  • 모노안드로이드 6.0
  • 자마린.iOS 1.0
  • Xamarin.Mac 2.0

설치

Cloud SDK를 사용하려면 첫 번째 단계는 설치입니다. NuGetGitHub에서 다운로드할 수 있습니다. NuGet 설치를 수행하려면 터미널 창에서 다음 명령을 실행하세요.

nuget install Aspose.Email-Cloud

.NET CLI를 사용하는 경우:

dotnet add package Aspose.Email-Cloud

Visual Studio를 사용하는 경우 패키지 관리자 콘솔을 사용하여 패키지를 설치할 수도 있습니다. 다음 명령을 실행하세요.

PM> Install-Package Aspose.Email-Cloud
Image 1:- Aspose.Words NuGet package installed.

Image 1:- Aspose.Words NuGet package installed.

NuGet 패키지 관리자 – Visual Studio

또 다른 가장 쉬운 방법은 Visual Studio IDE 내의 NuGet 패키지 관리자를 통해 SDK를 설치하는 것입니다.

  1. 솔루션 탐색기를 엽니다.
  2. 프로젝트를 확장하고 솔루션 내의 패키지 폴더를 마우스 오른쪽 버튼으로 클릭합니다.
  3. NuGet 패키지 관리… 옵션을 선택하세요
  4. 찾아보기 탭을 클릭하고 “Aspose.Email-Cloud"를 검색합니다.
  5. Aspose.Email-Cloud 패키지를 클릭하고 오른쪽 탭에서 적절한 버전을 선택한 후 패키지 추가 버튼을 클릭합니다.
email to mht

Image 2:- Aspose.Words Package in NuGet Package Manager.

클라우드 계정 구독

당사의 API는 클라우드 스토리지에 저장된 데이터가 클라우드 API를 통해 액세스 가능하기 때문에 권한이 있는 사람만 액세스할 수 있습니다. 구독은 무료이며 선불 결제 세부 정보가 필요하지 않습니다. 최대 150개의 무료 문서 처리 작업을 수행합니다. 따라서 API의 기능에 만족하면 API 호출당 $0.005만큼 낮은 라이선스 구독을 선택하는 것을 고려할 수 있습니다. 자세한 내용은 가격을 참조하세요.

이제 Aspose.Cloud 대시보드를 방문하여 계정 생성을 진행하세요. 신용 카드나 다른 결제 정보는 필요하지 않습니다. GitHub 또는 Google 계정이 있는 경우 간단히 가입하거나 새 계정 만들기 버튼을 클릭하고 필요한 정보를 제공하세요. 이제 자격 증명을 사용하여 대시보드에 로그인하고 대시보드에서 애플리케이션 섹션을 확장하고 클라이언트 자격 증명 섹션으로 스크롤하여 클라이언트 ID와 클라이언트 비밀 세부 정보를 확인하세요.

클라이언트 자격 증명

3: Aspose.Cloud 대시보드의 클라이언트 자격 증명.

C#에서 EML을 MHT로

C# .NET을 사용하여 EML 파일을 MHT 형식으로 변환하려면 아래 단계를 따르세요.

  • 첫 번째 단계는 ClientID 및 클라이언트 비밀번호 세부 정보를 인수로 전달하여 EmailCloud 클래스의 객체를 만드는 것입니다.
  • 둘째, File.OpenRead 인스턴스로 소스 이메일 파일을 읽습니다.
  • 셋째, 입력 파일 형식, 결과 파일 형식 및 입력 EML 파일을 보유하는 스트림 객체를 전달하는 동안 EmailConvertRequest 인스턴스를 생성합니다.
  • 이제 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
{
    // sourceec 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.emlconverted.mht에서 다운로드할 수 있습니다.

cURL을 사용하여 EML을 MHT로 변환

Aspose.Email Cloud는 REST 아키텍처에 따라 개발되었으므로 cURL 명령을 통해 쉽게 액세스할 수 있습니다. 터미널 애플리케이션/명령 프롬프트를 사용하여 API에 액세스합니다. 따라서 첫 번째 단계는 Aspose.Cloud 대시보드에서 지정된 클라이언트 자격 증명을 기반으로 JWT 액세스 토큰을 생성하는 것입니다. 다음 명령을 실행하여 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를 사용하면 이메일 메시지에 레드 플래그를 적용하고, 이메일 첨부 파일을 적용하고, 이메일 첨부 파일을 다운로드하는 등의 작업을 수행하는 이메일 조작 애플리케이션을 만들 수 있습니다. C# .NET 및 cURL 명령을 사용하여 EML 파일을 MHT로 변환하는 방법에 대한 단계를 설명했습니다. 또한 .NET Cloud SDK는 MIT 라이선스에 따라 개발되었습니다. 무료로 다운로드하고 사용자 정의하세요. 전체 소스 코드는 GitHub에서 사용할 수 있습니다.

또한 웹 브라우저 내에서 API를 테스트할 수 있도록 Cloud API의 swagger view도 제공했습니다. 또한 문제가 발생하거나 추가 질문이 있는 경우 무료 고객 지원 포럼을 통해 언제든지 문의해 주십시오.

관련기사

자세한 내용을 알아보려면 다음 링크를 방문해 보세요.