อ่านไฟล์ Outlook MSG โดยใช้ Java

MSG คือรูปแบบไฟล์อีเมลที่ใช้โดย MS Outlook เป็นรายการ Outlook ที่ช่วยให้จัดเก็บอีเมล ผู้ติดต่อ ข้อความ งาน การนัดหมาย ฯลฯ ในบางกรณีเราอาจจำเป็นต้องอ่านไฟล์ Outlook MSG ในแอปพลิเคชัน Java และแยกคุณสมบัติ เช่น หัวเรื่อง ผู้รับ ผู้ส่ง เนื้อหา ฯลฯ ในบทความนี้ เราจะเรียนรู้วิธีอ่านไฟล์ MSG ของ Outlook โดยใช้ Java

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

Java API เพื่ออ่านไฟล์ MSG ของ Outlook

สำหรับการอ่านไฟล์ Outlook MSG เราจะใช้ Aspose.Email for Java API ช่วยให้สามารถสร้าง ส่ง อ่าน และจัดการข้อความอีเมลได้อย่างราบรื่น นอกจากนี้ยังรองรับการแยกวิเคราะห์ไฟล์ Outlook MSG และจัดเตรียมเนื้อหาในออบเจ็กต์ Java โปรด ดาวน์โหลด JAR ของ API หรือเพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

แยกและอ่านไฟล์ MSG ของ Outlook โดยใช้ Java

เราสามารถแยกวิเคราะห์และอ่านไฟล์ Outlook MSG ได้โดยทำตามขั้นตอนด้านล่าง:

  1. โหลดไฟล์ MSG โดยใช้เมธอด MapiMessage.load()
  2. อ่านคุณสมบัติเช่น SenderName, Subject, Body, Recipient จากผงชูรสที่โหลด

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านไฟล์ MSG ของ Outlook โดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการอ่านไฟล์ MSG
// โหลดไฟล์ MSG จากดิสก์
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\message.msg");

// แสดงชื่อผู้ส่ง
System.out.println("Sender Name : " + outlookMessageFile.getSenderName());

// แสดงหัวเรื่อง
System.out.println("Subject : " + outlookMessageFile.getSubject());

// ตัวแสดงผล
System.out.println("Body : " + outlookMessageFile.getBody());

// แสดงข้อมูลผู้รับ
System.out.println("Recipients : \n");

// วนซ้ำคอลเลกชันผู้รับที่เกี่ยวข้องกับวัตถุ MapiMessage
for (int i = 0; i < outlookMessageFile.getRecipients().size(); i++) {
  
  // ตั้งค่าการอ้างอิงไปยังวัตถุ MapiRecipient
  MapiRecipient rcp = (MapiRecipient) outlookMessageFile.getRecipients().get_Item(i);
  
  // แสดงที่อยู่อีเมลของผู้รับ
  System.out.println("Email : " + rcp.getEmailAddress());
  
  // แสดงชื่อผู้รับ
  System.out.println("Name : " + rcp.getDisplayName());
  
  // แสดงประเภทผู้รับ
  System.out.println("Recipient Type : " + rcp.getRecipientType());
}
แยกและอ่านไฟล์ MSG ของ Outlook โดยใช้ Java

แยกและอ่านไฟล์ MSG ของ Outlook โดยใช้ Java

รับไฟล์แนบจากไฟล์ MSG โดยใช้ Java

นอกจากนี้เรายังสามารถบันทึกไฟล์แนบจากไฟล์ Outlook MSG ได้โดยทำตามขั้นตอนด้านล่าง:

  1. โหลดไฟล์ MSG โดยใช้เมธอด MapiMessage.load()
  2. วนซ้ำ คอลเลกชันไฟล์แนบ ที่เกี่ยวข้องกับวัตถุ MapiMessage
  3. บันทึกไฟล์แนบแต่ละรายการลงดิสก์โดยใช้เมธอด save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการบันทึกไฟล์แนบจากไฟล์ Outlook MSG โดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการบันทึกไฟล์แนบจากไฟล์ MSG
// โหลดไฟล์ MSG จากดิสก์
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\WithEmbeddedMsg.msg");

// วนซ้ำคอลเลกชันไฟล์แนบที่เกี่ยวข้องกับวัตถุ MapiMessage
for (int i = 0; i < outlookMessageFile.getAttachments().size(); i++) {
  
  // ตั้งค่าการอ้างอิงไปยังวัตถุ MapiAttachment
  MapiAttachment outlookMessageAttachment = (MapiAttachment) outlookMessageFile.getAttachments().get_Item(i);
  
  // แสดงประเภทไฟล์แนบ
  System.out.println("Att Type : " + outlookMessageAttachment.getMimeTag());
  
  // แสดงชื่อไฟล์ที่แนบมา
  System.out.println("File Name : " + outlookMessageAttachment.getLongFileName());
  
  // บันทึกสิ่งที่แนบมาลงในดิสก์
  outlookMessageAttachment.save("D:\\Files\\Email\\" + outlookMessageAttachment.getDisplayName());
}
รับไฟล์แนบจากไฟล์ MSG โดยใช้ Java

รับไฟล์แนบจากไฟล์ MSG โดยใช้ Java

อ่านข้อความที่ฝังจากไฟล์แนบ

เราสามารถอ่านข้อความอีเมลที่ฝังอยู่ภายในไฟล์แนบ Outlook MSG ได้เช่นกันโดยทำตามขั้นตอนด้านล่าง:

  1. โหลดไฟล์ MSG โดยใช้เมธอด MapiMessage.load()
  2. รับข้อความที่แนบมาเป็นวัตถุ MapiMessage
  3. แสดงคุณสมบัติข้อความ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านข้อความที่ฝังเป็นไฟล์แนบโดยใช้ Java

// ตัวอย่างโค้ดนี้สาธิตวิธีการอ่านข้อความที่ฝังอยู่ในผงชูรส
// โหลดไฟล์ MSG
MapiMessage mapi = MapiMessage.load(dataDir + "EmbededMessageAsAttachment.msg");

// แสดงไฟล์แนบทั้งหมด
System.out.println("Total attachments : " + mapi.getAttachments().size());

// อ่านไฟล์แนบเป็น MapiMessage
MapiMessage emb = mapi.getAttachments().get_Item(0).getObjectData().toMapiMessage();

// แสดงชื่อผู้ส่ง
System.out.println("Sender Name : " + emb.getSenderName());

// แสดงหัวเรื่อง
System.out.println("Subject : " + emb.getSubject());

// ตัวแสดงผล
System.out.println("Body : " + emb.getBody());

// แสดงข้อมูลผู้รับ
System.out.println("Recipients :");

// วนซ้ำคอลเลกชันผู้รับที่เกี่ยวข้องกับวัตถุ MapiMessage
for (int i = 0; i < emb.getRecipients().size(); i++) {
  
  // ตั้งค่าการอ้างอิงไปยังวัตถุ MapiRecipient
  MapiRecipient rcp = (MapiRecipient) emb.getRecipients().get_Item(i);
  
  // แสดงที่อยู่อีเมลของผู้รับ
  System.out.println("\t Email : " + rcp.getEmailAddress());
  
  // แสดงชื่อผู้รับ
  System.out.println("\t Name : " + rcp.getDisplayName());
  
  // แสดงประเภทผู้รับ
  System.out.println("\t Recipient Type : " + rcp.getRecipientType());
}

รับใบอนุญาตฟรี

โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีอ่านเนื้อหาของไฟล์ Outlook MSG โดยทางโปรแกรมโดยใช้ Java นอกจากนี้เรายังได้เห็นวิธีการอ่านและแยกไฟล์แนบจากไฟล์ MSG แล้ว นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Email for Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

ดูสิ่งนี้ด้วย