
ในฐานะนักพัฒนา C# คุณสามารถแยกและบันทึกไฟล์แนบจากข้อความอีเมลโดยทางโปรแกรมได้อย่างง่ายดาย ในบทความนี้ คุณจะได้เรียนรู้วิธีบันทึกไฟล์แนบจากอีเมลโดยใช้ C#
หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:
- C# API เพื่อบันทึกไฟล์แนบอีเมล
- แยกและบันทึกไฟล์แนบจากอีเมลโดยใช้ C#
- บันทึกไฟล์แนบเป็น PDF จากอีเมลโดยใช้ C#
C# API เพื่อบันทึกไฟล์แนบอีเมล
สำหรับการบันทึกไฟล์แนบจากไฟล์ MSG เราจะใช้ GroupDocs.Viewer for .NET API เป็น API โปรแกรมดูเอกสารที่ทรงพลังในการเรนเดอร์และแสดงรูปแบบไฟล์ที่ใช้กันอย่างแพร่หลาย โดยไม่ต้องติดตั้งซอฟต์แวร์ภายนอกใดๆ นอกจากนี้ยังช่วยให้คุณสามารถดู [รูปแบบไฟล์ที่รองรับ] ยอดนิยมได้อย่างรวดเร็ว 7 ของ Word, Excel, PowerPoint, อีเมล Outlook, [โครงการ] 12, PDF, HTML และ XML
คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
Install-Package GroupDocs.Viewer
แยกและบันทึกไฟล์แนบจากอีเมลโดยใช้ C#
คุณสามารถแยกและบันทึกไฟล์แนบจากไฟล์ MSG ของอีเมลโดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดไฟล์ MSG โดยใช้คลาส Viewer
- จากนั้น เรียกใช้เมธอด Viewer.GetAttachments() เพื่อรับไฟล์แนบทั้งหมดของไฟล์ MSG ที่โหลด รับผลลัพธ์เป็นชุดไฟล์แนบ
- สำหรับแต่ละไฟล์แนบในคอลเลกชัน ให้บันทึกไฟล์แนบโดยการเรียกเมธอด Viewer.SaveAttachment() ส่งวัตถุแนบและเส้นทางไฟล์เพื่อบันทึก
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกและบันทึกไฟล์แนบที่มีอยู่ในไฟล์ MSG ทางอีเมลโดยใช้ C#
string outputPath = @"C:\Files\Viewer\";
// เริ่มต้น API และโหลดไฟล์ MSG
Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg");
// รับเอกสารแนบ
IList<Attachment> attachments = viewer.GetAttachments();
foreach (Attachment attachment in attachments)
{
// บันทึกไฟล์แนบ
string filePath = Path.Combine(outputPath, attachment.FileName);
viewer.SaveAttachment(attachment, File.OpenWrite(filePath));
}

แยกและบันทึกไฟล์แนบจากอีเมลโดยใช้ C#
บันทึกไฟล์แนบเป็น PDF จากอีเมลโดยใช้ C#
คุณสามารถบันทึกไฟล์แนบข้อความอีเมลเป็น PDF โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Attachment ด้วยชื่อไฟล์ที่แนบมาและเส้นทางของไฟล์
- เตรียมใช้งานอินสแตนซ์ของคลาส MemoryStream
- โหลดไฟล์ MSG โดยใช้คลาส Viewer
- จากนั้น เรียกเมธอด Viewer.SaveAttachment() และส่งไฟล์แนบและออบเจ็กต์ MemoryStream เป็นพารามิเตอร์อินพุต มันจะแยกและบันทึกไฟล์แนบที่ระบุในสตรีมหน่วยความจำ
- ตอนนี้ให้โหลดวัตถุ MemoryStream โดยใช้คลาส Viewer
- จากนั้น สร้างอินสแตนซ์ของคลาส PdfViewOptions ด้วยเส้นทางไฟล์ PDF เอาท์พุต
- สุดท้าย ให้เรียกเมธอด Viewer.View() เพื่อบันทึกและดูไฟล์แนบในรูปแบบ PDF
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการบันทึกและดูไฟล์แนบเป็น PDF จากไฟล์ MSG อีเมลโดยใช้ C#
// เริ่มต้นสิ่งที่แนบมา
Attachment attachment = new Attachment("attachment-word.doc", "attachment-word.doc");
MemoryStream attachmentStream = new MemoryStream();
// เริ่มต้น API และโหลดไฟล์ MSG
using (Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg"))
{
// บันทึกไฟล์แนบในสตรีม
viewer.SaveAttachment(attachment, attachmentStream);
}
// เริ่มต้น API และโหลดสตรีมไฟล์แนบ
using (Viewer viewer = new Viewer(attachmentStream))
{
// กำหนดตัวเลือกมุมมอง PDF
PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\Viewer\\output.pdf");
// ดูเป็น PDF
viewer.View(viewOptions);
}

รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแยกและบันทึกไฟล์แนบที่อยู่ในไฟล์ MSG ทางอีเมลโดยใช้ C# นอกจากนี้ คุณได้เห็นวิธีการบันทึกไฟล์แนบเฉพาะเป็น PDF โดยทางโปรแกรมแล้ว นอกจากนี้ คุณยังสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Viewer สำหรับ .NET API ได้โดยใช้ documentation ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม