EML เป็น MSG

EML เป็นส่วนขยายของไฟล์สำหรับข้อความอีเมลที่บันทึกลงในไฟล์ในรูปแบบมาตรฐาน MIME RFC 822 ที่รองรับโดย Outlook, Outlook Express, Windows Live Mail หรือ Thunderbird นอกจากนี้ รูปแบบไฟล์ EML เป็นรูปแบบไฟล์ MIME แบบข้อความธรรมดา (rfc822) สำหรับจัดเก็บอีเมล อีกด้านหนึ่ง MSG เป็นรูปแบบไบนารีไฟล์ผสมตาม Outlook MAPI ของ Microsoft นอกจากนี้ รูปแบบไฟล์ Outlook Item MSG (.msg) เป็นรูปแบบทางไวยากรณ์สำหรับจัดเก็บวัตถุข้อความเดี่ยว เช่น อีเมล การนัดหมาย ผู้ติดต่อ งาน และอื่นๆ ในไฟล์

ในบทความนี้ เราจะพูดถึงขั้นตอนการแปลงไฟล์ EML เป็นรูปแบบ MSG โดยใช้โปรแกรม REST API

API การประมวลผลอีเมล

Aspose.Email Cloud คือ API ที่ใช้ REST ซึ่งให้ความสามารถในการสร้าง จัดการ และแสดงรูปแบบอีเมลทั่วไป (Outlook EML, MSG, ไฟล์ iCalendar และ VCard) เป็น [รูปแบบไฟล์ที่รองรับ] อื่นๆ]6 คุณสามารถทำงานกับส่วนหัว ที่อยู่ผู้ส่ง เนื้อหาที่รวมอยู่ในข้อความ หรือประมวลผลไฟล์แนบในอีเมล เช่น ไฟล์ รูปภาพ เอกสาร และอื่นๆ อีกมากมาย ในเวลาเดียวกัน คุณยังสามารถใช้การประมวลผลการ์ดติดต่อ (ใช้งาน VCard) หรือประมวลผลปฏิทินผ่าน การสนับสนุน iCalendar ในแอปพลิเคชันของคุณได้

เพื่ออำนวยความสะดวกแก่ผู้พัฒนา เราได้สร้างแรปเปอร์สำหรับ Cloud API เพื่อให้คุณสามารถใช้ฟีเจอร์ทั้งหมดได้ภายใน IDE ที่คุณชื่นชอบ ก่อนที่จะดำเนินการต่อ เราขอแนะนำให้ไปที่ลิงก์ต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ วิธีติดตั้ง Aspose.Cloud SDK

แปลง EML เป็น MSG ใน C#

โปรดปฏิบัติตามขั้นตอนด้านล่างเพื่อตอบสนองความต้องการของคุณ:

  • ขั้นแรก ให้สร้างอ็อบเจ็กต์ของคลาส EmailCloud โดยส่งรายละเอียด ClientID และ Client Secret เป็นอาร์กิวเมนต์
  • ประการที่สอง อ่านไฟล์อีเมลต้นฉบับไปยังอินสแตนซ์ File.OpenRead และอัปโหลดไปยังที่เก็บข้อมูลบนคลาวด์ วิธี UploadFile(…)
  • ประการที่สาม สร้างอินสแตนซ์ของ EmailGetAsFileRequest โดยส่งไฟล์อินพุตและรูปแบบผลลัพธ์
  • ตอนนี้ใช้ EmailGetAsFile API เพื่อแปลงไฟล์ EML ที่มีอยู่ในระบบจัดเก็บข้อมูลบนคลาวด์เป็นรูปแบบ MSG
  • สุดท้าย ให้เรียกใช้เมธอดที่กำหนดเองเพื่อบันทึกไฟล์ผลลัพธ์ลงในไดรฟ์ภายในโดยใช้อินสแตนซ์ 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";
// ชื่อของไฟล์ MSG ที่เกิดขึ้น
string resultantFile = "converted.msg";
// รูปแบบของไฟล์ผลลัพธ์
string toFormat = "Msg";

 try
{
    // อ่าน EML ของ Sourec เพื่อสตรีมวัตถุ
    using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
    {
    
        // อัปโหลดไฟล์ EML ต้นฉบับไปยังที่เก็บข้อมูลบนคลาวด์
        emailApi.CloudStorage.File.UploadFile(new Aspose.Email.Cloud.Sdk.Model.UploadFileRequest(name, file));
        
        // สร้างอินสแตนซ์ EmailGetAsFileRequest โดยส่งไฟล์อินพุตและรูปแบบผลลัพธ์
        var convertRequest = new EmailGetAsFileRequest(name, toFormat);
        
        // ดำเนินการแปลง
        var response = emailApi.Email.GetAsFile(convertRequest);

        // พิมพ์ข้อความแสดงความสำเร็จหากการแปลงสำเร็จ
        if (response != null && response.Equals("OK"))
        {
            // พิมพ์ข้อความแสดงความสำเร็จ
            Console.WriteLine("Successfully converted EML to MSG !");
            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();
}

ไฟล์ตัวอย่างที่ใช้ในตัวอย่างด้านบนสามารถดาวน์โหลดได้จาก sample.eml และ converted.msg

ในกรณีที่คุณจำเป็นต้องโหลดไฟล์จากไดรฟ์ภายในเครื่องและทำการแปลง โปรดลองใช้ EmailConvert API

แปลง EML เป็น MSG โดยใช้คำสั่ง cURL

เนื่องจาก Aspose.Email Cloud ได้รับการพัฒนาตามสถาปัตยกรรม REST จึงสามารถเข้าถึงได้ง่ายผ่านคำสั่ง cURL ใช้แอปพลิเคชันเทอร์มินัล/พรอมต์คำสั่งเพื่อเข้าถึง API ดังนั้นขั้นตอนแรกคือการสร้างโทเค็นการเข้าถึง JWT โดยอิงตามข้อมูลประจำตัวไคลเอนต์ที่ระบุไว้ใน แดชบอร์ด Aspose.Cloud สำหรับรายละเอียดเพิ่มเติม โปรดไปที่ วิธีรับโทเค็น JWT โดยใช้รหัสไคลเอนต์และคีย์ความลับไคลเอนต์

เมื่อเรามีโทเค็น JWT แล้ว โปรดใช้คำสั่งต่อไปนี้เพื่อแปลงไฟล์ EML ที่มีอยู่ในระบบจัดเก็บข้อมูลบนคลาวด์เป็นรูปแบบ MSG และบันทึกผลลัพธ์ลงในไดรฟ์ภายในเครื่อง สำหรับวัตถุประสงค์ในการแปลง จะใช้ API EmailGetAsFile

curl -X GET "https://api.aspose.cloud/v4.0/email/as-file?fileName=sample.eml&format=Msg" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.msg

บทสรุป

ในบทความนี้ เราได้กล่าวถึงความสามารถของ Aspose.Email Cloud สำหรับการประมวลผลรูปแบบอีเมลยอดนิยม โดยเฉพาะอย่างยิ่ง เราได้กล่าวถึงการแปลงไฟล์ EML เป็น MSG โดยใช้คำสั่ง C# .NET และ cURL อย่างไรก็ตาม Cloud SDK ได้รับการพัฒนาตามใบอนุญาต MIT และคุณสามารถดาวน์โหลดซอร์สโค้ดฉบับสมบูรณ์ได้ที่ GitHub

นอกจากนี้ เรายังได้จัดทำ swagger view ของ Cloud APIs เพื่อให้คุณสามารถทดสอบ API ภายในเว็บเบราว์เซอร์ได้ นอกจากนี้ หากคุณพบปัญหาใดๆ หรือมีข้อสงสัยเพิ่มเติม โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนลูกค้าฟรี

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