ส่งอีเมลถึง MHT

Microsoft Outlook และโปรแกรมรับส่งเมลยอดนิยมอื่นๆ ใช้ EML(มาตรฐาน MIME RFC 822) เป็นรูปแบบมาตรฐาน EML เป็นตัวย่อของอีเมลหรืออีเมล ในทำนองเดียวกัน EML ยังเป็นส่วนขยายของข้อความอีเมลที่บันทึกลงในไฟล์ในโปรโตคอล 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 และในประเภทแอปพลิเคชันใดๆ เช่น เดสก์ท็อป มือถือ เว็บ ไฮบริด ฯลฯ

หากต้องการใช้ API โดยตรงภายในภาษาการเขียนโปรแกรม โปรดลองใช้ Cloud SDK เฉพาะภาษาของเรา ซึ่งเป็นตัวห่อหุ้ม Cloud SDK ในบทความนี้ เราจะเน้นที่การแปลงไฟล์ EML เป็นรูปแบบ MHT โดยใช้ Aspose.Email Cloud SDK for .NET หากต้องการใช้ SDK คุณต้องมีเฟรมเวิร์ก .NET ที่รองรับ (หรือเข้ากันได้กับเฟรมเวิร์กที่รองรับ):

  • .NET เฟรมเวิร์ก 2.0
  • .NET Framework 4.5.2 เวอร์ชัน
  • .NET มาตรฐาน 2.0
  • โมโนแอนดรอยด์ 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

ตัวจัดการแพ็กเกจ NuGet – Visual Studio

วิธีที่ง่ายที่สุดอีกวิธีหนึ่งคือการติดตั้ง SDK ผ่านตัวจัดการแพ็กเกจ NuGet ใน Visual Studio IDE

  1. เปิด Solution Explorer
  2. ขยายโครงการและคลิกขวาที่โฟลเดอร์แพ็คเกจภายในโซลูชันของคุณ
  3. เลือกตัวเลือกจัดการแพ็คเกจ NuGet…
  4. คลิกที่แท็บ Browse และค้นหา “Aspose.Email-Cloud“
  5. คลิกที่แพ็คเกจ Aspose.Email-Cloud เลือกเวอร์ชันที่เหมาะสมในแท็บด้านขวา และคลิกปุ่มเพิ่มแพ็คเกจ

การสมัครบัญชีคลาวด์

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 ของ Sourec เพื่อสตรีมวัตถุ
    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 Dashboard โปรดดำเนินการคำสั่งต่อไปนี้เพื่อสร้างโทเค็น 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 ที่มีอยู่ในระบบ Cloud Storage ไปเป็นรูปแบบ 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 ของ Cloud APIs เพื่อให้คุณสามารถทดสอบ API ภายในเว็บเบราว์เซอร์ได้ นอกจากนี้ หากคุณพบปัญหาใดๆ หรือมีข้อสงสัยเพิ่มเติม โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนลูกค้าฟรี

บทความที่เกี่ยวข้อง

เราขอแนะนำให้เยี่ยมชมลิงค์ต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ: