Bug 59100 - Sent Date field is not extracted in message object when mail category set to RED
Summary: Sent Date field is not extracted in message object when mail category set to RED
Status: NEW
Alias: None
Product: POI
Classification: Unclassified
Component: POI Overall (show other bugs)
Version: 3.14-dev
Hardware: PC All
: P2 major (vote)
Target Milestone: ---
Assignee: POI Developers List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-02 14:11 UTC by gopalkumar2
Modified: 2016-03-11 22:26 UTC (History)
0 users



Attachments
The sample outlook mail which you can use to reproduce the issue. (43.00 KB, application/x-ole-storage)
2016-03-02 14:11 UTC, gopalkumar2
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gopalkumar2 2016-03-02 14:11:25 UTC
Created attachment 33617 [details]
The sample outlook mail which you can use to reproduce the issue.

Sent Date filed is not extracted in message object when mail category set to RED.
Moreover, Please note that message is saved from sent folder and hence message header is not present. We tried several workaround like iterating thought all message properties but it seems that the sent date info is not populated in message object.
The sample outlook mail is attached which you can use to reproduce the issue.
Comment 1 Nick Burch 2016-03-02 14:38:48 UTC
I wonder if the date is stored in the fixed-sized properties block, rather than the variable one? What happens if you try checking in the MessagePropertiesChunk?
Comment 2 gopalkumar2 2016-03-03 08:30:25 UTC
I tried checking the date like below, but seems that sent date is not present 

<p>
Set<Map.Entry<MAPIProperty,List<PropertyValue>>> entry = message.getMainChunks().getProperties().entrySet();
for (Entry<MAPIProperty, List<PropertyValue>> en : entry) {
    String mapiProp = en.getKey().mapiProperty;
    if (mapiProp != null && mapiProp.contains("PR_CLIENT_SUBMIT_TIME")) {
        PropertyValue value = en.getValue().get(0); // 
        Object obj = value.getValue();
        Date date = ((GregorianCalendar)obj).getTime();
        result.put(bean.getDctmAttribute(), new DfTime(date));
        break;
    }
}
</P>