3.1.5.1 Processing a Conversation Action on Incoming E-mail Objects

When a new E-mail object arrives in a message store, the client SHOULD<40> perform the following steps:

  1. The client SHOULD locate the FAI message for the conversation action, as specified in section 2.2.8, in the Conversation Actions Settings special folder with bytes 6-21 of the PidTagConversationIndex property (section 2.2.8.8), corresponding to the PidTagConversationId property ([MS-OXOMSG] section 2.2.1.2) of the incoming E-mail object. If no FAI message is found, the client SHOULD NOT process any conversation actions on the incoming E-mail object.

  2. If the PidLidConversationProcessed property (section 2.2.8.6) is set on the incoming E-mail object, the client SHOULD execute duplicate detection (as specified in section 3.1.5.1.1) and SHOULD NOT process any conversation actions on the incoming E-mail object.

  3. The client SHOULD perform the appropriate actions on the incoming E-mail object based on the properties of the FAI message, as specified in the table that follows these steps. Note that more than one property can apply to a given FAI message.

  4. If the server returned a version less than 14.0.324.0 and if step 3 did not encounter an error opening the message store, the PidLidConversationProcessed property SHOULD be set to a random number on the incoming E-mail object.

  5. The client SHOULD set the current time (in UTC) as the value of the PidLidConversationActionLastAppliedTime property (section 2.2.8.1) on the FAI message.

The conversation actions to be performed on the incoming E-mail object based on the properties of the FAI message are specified in the following table.

Properties on the FAI message

Action to perform on the incoming E-mail object

The PidNameKeywords property (section 2.2.8.7) is set.

If the server returned a version less than 14.0.324.0, as described in section 1.7, the categories in the FAI message SHOULD be appended to the PidNameKeywords property of the incoming E-mail object.

The PidLidConversationActionMoveStoreEid property (section 2.2.8.4) is not set and the value of the PidLidConversationActionMoveFolderEid property (section 2.2.8.3) is not an array of size zero.

If the server returned a version less than 14.0.324.0, the client SHOULD move the incoming E-mail object to the folder with an EntryID equal to the PidLidConversationActionMoveFolderEid property on the FAI message.

The PidLidConversationActionMoveStoreEid property is not set and the value of the PidLidConversationActionMoveFolderEid property is an array of size zero.

If the server returned a version less than 14.0.324.0, the client SHOULD move the incoming E-mail object to the Deleted Items special folder.

The PidLidConversationActionMoveStoreEid property is set and the value of the PidLidConversationActionMoveFolderEid property is not an array of size zero.

(Note that this case is not conditioned on the server version)

The client SHOULD move the incoming E-mail object to the folder and message store identified by the PidLidConversationActionMoveFolderEid and PidLidConversationActionMoveStoreEid properties, respectively.

The PidLidConversationActionMoveStoreEid property is set and the value of the PidLidConversationActionMoveFolderEid property is an array of size zero.

The client SHOULD NOT move the incoming E-mail object.