Gömülü Nesnelerin Verisinin Çıkarılması

Bazen gömülü OLE verisi "oleData.mso" eki olarak temsil edilir MapiAttachment ve manuel olarak çıkarılması gerekir. Bu oleData.mso dosyaları Microsoft Computer Document File (MCDF) formatındadır ve bu dosyaların desteği Aspose.Email kapsamının dışındadır. Ancak, Aspose.Email, OpenMCDF gibi diğer açık kaynak kütüphaneleriyle birlikte, bu dosyaların içeriğini okuyup diske kaydetmek için kullanılabilir. Aspose.Email şunu sağlar InlineAttachmentExtractor oledata.mso binary verisinden MSO paketlerini numaralandıran sınıf; bu paketler daha sonra Compound Files okuma kütüphaneleriyle içerik çıkarımı için kullanılabilir.

Bir mesaj gövde tipi HTML (RTF değil) ise ve mesajda OLE nesneleri varsa, MapiPropertyTag.PR_ATTACH_DATA_OBJ özelliği yoktur. Bu durumda OLE nesneleriyle ilgili bilgi oldedata.mso içinde bulunur.

Gömülü Nesnelerin Çıkarılması

Bu makale, Aspose.Email kullanarak bu tür bir dosyadan içeriği nasıl çıkaracağınızı gösterir:

// The path to the File directory
String dataDir = "/data";

MapiMessage msg = MapiMessage.fromFile(dataDir + "double.msg");
for (MapiAttachment mapiAttachment : msg.getAttachments()) {
    if ("oledata.mso".equals(mapiAttachment.getLongFileName())) {
        IGenericDictionary<String, byte[]> oledata = InlineAttachmentExtractor.enumerateMsoPackage(new ByteArrayInputStream(mapiAttachment.getBinaryData()));

        for (String oleItem : oledata.getKeys()) {
            // Use binary data
            processBynaryData(oledata.get_Item(oleItem));
        }
    }
}