I'm thinking about a possibility to determine who has read a mail in a shared mailbox at Outlook 2010.
Of course a MailItem doesn't hold a property like "readBy", that's why I'm looking for a way to respond to the fact that a message has been marked as read. Then I could write the current user name to a userdefined field.
My first idea:
Listen to MailItem.Read()
or MailItem.Open()
with a VBA macro, but - when I'm not wrong - MailItem.Open()
is thrown when a MailItem is focused and shown in the reading pane. If Outlook doesn't mark it as read automatically, the Info "Read by Max" would be wrong.
MailItem.Read()
is thrown only when a MailItem is opened to a new window, but what's when I press Ctrl+Enter?
After some Googling it seems that VBA isn't able to solve this on a good way or is it? Should I think about writing an Add-In?
Do you have any idea how I could go about this? Any thoughts would be greatly appreciated.
That would be a bad idea - now you need to modify the message when all a user did was read it. And that will automatically update the last modified time/name/entry id.
Keep in mind that read/unread status is technically not a part of message, hence resetting it does not modify the message. More than that, the PF store stores the read/unread state on the per-user basis.