The Javadoc for MAPIMessage#getMessageDate() states, "Gets the date that the message was accepted by the server on.". The implementation proceeds to look at the time that the server accepted the message, but if this is unavailable, attempts to load, in order, the date at which the client submitted the message, the last modified time, and the created time. I believe all 3 of these last time stamps are incorrect, given that the documentation states clearly "was accepted by the server on", and there is a specific chunk for this information. I think a case could be made for the client submitted time, but the last two should definitely not be used. Even an unsent message has these timestamps, which makes the documentation incorrect for unsent messages. I'd like to submit a patch, but would like to hear thoughts on whether the documentation or behavior should be changed.