ทำงานกับไฟล์แนบของข้อความ

การแยกและบันทึกไฟล์แนบ

ไฟล์ข้อความ Outlook อาจมีไฟล์แนบหนึ่งหรือหลายไฟล์ Aspose.Email ช่วยให้ผู้พัฒนาวนลูปไฟล์แนบในไฟล์ MSG และบันทึกลงดิสก์ หัวข้อนี้อธิบายกระบวนการและวิธีฝังไฟล์แนบ.

Aspose.Email MapiMessage คลาสใช้ในการโหลดไฟล์ MSG จากดิสก์และเปิดเผย getAttachments() เมธอดที่อ้างอิงถึง MapiAttachment คอลเลกชันอ็อบเจกต์ที่เชื่อมโยงกับไฟล์ MSG. The MapiAttachment อ็อบเจกต์ยังเปิดเผยเมธอดเพิ่มเติมที่ดำเนินการกับไฟล์แนบ.

เพื่อบันทึกไฟล์แนบในไฟล์ MSG ลงดิสก์โดยใช้ชื่อและส่วนขยายเดิม:

  1. สร้างอินสแตนซ์ของ MapiMessage คลาสเพื่อโหลดไฟล์ MSG ด้วย Load() เมธอดสเตติก.
  2. เรียกใช้ MapiRecipient คลาส getAttachments() เมธอดเพื่อรับอ้างอิงถึงคอลเลกชันของ MapiAttachment อ็อบเจกต์ที่เชื่อมโยงกับไฟล์ MSG.
  3. วนลูปผ่าน MapiAttachmentCollection เพื่อแสดงเนื้อหาเกี่ยวกับแต่ละ MapiAttachment อ็อบเจกต์ผ่านเมธอดสาธารณะของมัน.
  4. เรียกใช้ MapiAttachment คลาส save() เมธอดเพื่อบันทึกไฟล์แนบลงดิสก์.  

ฝังข้อความเป็นไฟล์แนบ

ข้อความ Microsoft Outlook สามารถมีข้อความ Microsoft Outlook อื่นเป็นไฟล์แนบได้ ไม่ว่าจะเป็นข้อความปกติตามที่อธิบายข้างต้น หรือข้อความฝัง. The MapiAttachmentCollection ให้สมาชิก overloaded ของเมธอด add สำหรับสร้าง Outlook messages พร้อมไฟล์แนบทั้งสองประเภท ไฟล์ Outlook MSG ที่ฝังใน MSG มี PR_ATTACH_METHOD ค่า 5.

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

การแทรกและแทนที่ไฟล์แนบ MSG

Aspose.Email API ให้ความสามารถในการแทรกไฟล์แนบที่ตำแหน่งเฉพาะในข้อความพาเรนท์ นอกจากนี้ยังให้ความสะดวกในการแทนที่เนื้อหาของไฟล์แนบด้วยไฟล์แนบจากข้อความอื่น.

แทรกไฟล์แนบ MSG ที่ตำแหน่งเฉพาะ

Aspose.Email API ให้ความสามารถในการแทรกไฟล์แนบ MSG ไปยัง MSG พาเรนท์โดยใช้ MapiAttachmentCollection.Insert() เมธอด.

แทนที่เนื้อหาไฟล์แนบ MSG ที่ฝัง

สามารถใช้เพื่อแทนที่เนื้อหาไฟล์แนบที่ฝังด้วยไฟล์ใหม่โดยใช้ แทนที่ เมธอด. อย่างไรก็ตามไม่สามารถใช้เพื่อแทรกไฟล์แนบที่มี PR_ATTACH_NUM = 4 (ตัวอย่าง) ในคอลเลกชันที่มี collection.Count = 2.

บันทึกไฟล์แนบจากข้อความที่เซ็นดิจิทัล

Aspose.Email API ให้ความสามารถในการรับหรือกำหนดค่าที่บ่งชี้ว่าข้อความที่เซ็นชัดจะถูกถอดรหัสหรือไม่. 

เปลี่ยนชื่อไฟล์แนบใน MapiMessage

Aspose.Email ทำให้สามารถแก้ไข ชื่อที่แสดง ค่าคุณสมบัติใน ไฟล์แนบของ MapiMessage.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีอัปเดตชื่อแสดงของไฟล์แนบแรกและที่สองภายใน Mapi message ที่โหลดมา:

MapiMessage msg = MapiMessage.load(fileName);
msg.getAttachments().get_Item(0).setDisplayName("New display name 1");
msg.getAttachments().get_Item(1).setDisplayName("New display name 2");

ตรวจสอบว่าไฟล์แนบเป็น Inline หรือปกติ

ความแตกต่างระหว่างไฟล์แนบแบบ inline และปกติคือวิธีการแสดงภายในอีเมล ไฟล์แนบแบบ inline ฝังอยู่ในเนื้อหาอีเมลและสามารถดูได้โดยไม่ต้องเปิดไฟล์แยกหรือดาวน์โหลด ส่วนไฟล์แนบปกติเป็นไฟล์แยกที่แนบกับอีเมลแต่ไม่แสดงโดยตรงในเนื้อหาและต้องดาวน์โหลดและเปิดภายนอก. The MapiAttachment.IsInline คุณสมบัติของ MapiAttachment คลาสรับค่าที่บ่งชี้ว่าไฟล์แนบเป็น inline หรือปกติ.

ตัวอย่างโค้ดต่อไปนี้โหลดข้อความอีเมลจากไฟล์และดึงข้อมูลเกี่ยวกับไฟล์แนบ โดยเฉพาะการพิมพ์ชื่อแสดงของแต่ละไฟล์แนบและว่ามันเป็น inline ภายในข้อความหรือไม่:

MapiMessage message = MapiMessage.load("fileName");

for (MapiAttachment attach : message.getAttachments()) {
    System.out.println(attach.getDisplayName() + ": " + attach.isInline());
}