package com.aspose.email.examples.outlook.msg; import java.util.UUID; import com.aspose.email.BodyContentType; import com.aspose.email.MapiMessage; import com.aspose.email.MapiNamedProperty; import com.aspose.email.MapiProperty; import com.aspose.email.MapiPropertyCollection; import com.aspose.email.MapiPropertyTag; import com.aspose.email.MapiPropertyType; import com.aspose.email.examples.Utils; import com.aspose.email.system.BitConverter; import com.aspose.email.system.collections.ArrayList; import com.aspose.email.system.collections.IList; public class SetAndAccessOutlookMAPIProperties { public static void main(String[] args) { // The path to the resource directory. String dataDir = Utils.getSharedDataDir(SetAndAccessOutlookMAPIProperties.class) + "outlook/"; accessOutlookMAPIProperties(dataDir); removeProperties(dataDir); } public static void accessOutlookMAPIProperties(String dataDir) { //Instantiate an MSG file to load an MSG file from disk MapiMessage outlookMessageFile = MapiMessage.fromFile(dataDir + "messageMapi.msg"); //Get the MapiProperties collection MapiPropertyCollection coll = outlookMessageFile.getProperties(); //Access the MapiPropertyTag.PR_SUBJECT property MapiProperty prop = (MapiProperty) coll.get_Item(MapiPropertyTag.PR_SUBJECT); //If the MapiProperty is not found, check the MapiProperty.PR_SUBJECT_W //which is a unicode peer of MapiPropertyTag.PR_SUBJECT if (prop == null) { prop = (MapiProperty) coll.get_Item(MapiPropertyTag.PR_SUBJECT_W); } //If it cannot be found if (prop == null) { System.out.println("Mapi property could not be found."); } else { //Get the property data as string String strSubject = prop.getString(); System.out.println("Subject: " + strSubject); } //Read internet code page property prop = (MapiProperty) coll.get_Item(MapiPropertyTag.PR_INTERNET_CPID); if (prop != null) { System.out.println("Code page: " + prop.getLong()); } } public static void removeProperties(String dataDir) { MapiMessage mapi = new MapiMessage("from@doamin.com", "to@domain.com", "subject", "body"); mapi.setBodyContent("<html><body><h1>This is the body content</h1></body></html>", BodyContentType.Html); MapiMessage attachment = MapiMessage.fromFile(dataDir + "message.msg"); mapi.getAttachments().add(dataDir + "Outlook2 Test subject.msg", attachment); System.out.println("Before removal = " + mapi.getAttachments().get_Item(mapi.getAttachments().size() - 1).getProperties().size()); mapi.getAttachments().get_Item(mapi.getAttachments().size() - 1).removeProperty(923467779);//Delete anyone property System.out.println("After removal = " + mapi.getAttachments().get_Item(mapi.getAttachments().size() - 1).getProperties().size()); mapi.save(dataDir + "EMAIL_589265.msg"); MapiMessage mapi2 = MapiMessage.fromFile(dataDir + "EMAIL_589265.msg"); System.out.println("Reloaded = " + mapi2.getAttachments().get_Item(mapi2.getAttachments().size() - 1).getProperties().size()); } }