none
how to tell if anyone in the set of recipients has responded to an email RRS feed

  • Question

  • Does anyone know of a way to tell if any of the multiple recipients of an email has replied to the email?

    I.e., if I send an email to 4 people and the first available person is supposed to do something as soon as they can, how can the other 3 recipients of the email know that they are not the first person to respond to the email and therefore they don't need to do anything with it. I was considering VBA to update the MailItem.BillingInformation when the first person clicks a macro button I would put on their toolbar. But I'm wondering if there other ways to accomplish this.

    Monday, July 29, 2013 6:25 PM

All replies

  • The easiest way to do this - IF Conversations are enabled on the recipient's Inbox - is to call MailItem.GetConversation on the selected/open email the user receives.  Assuming the first person to respond also uses Reply All, then they would have sent the first reply in the conversation.  Thus for any replies in the conversation you can call Conversation.GetChildren to find the latest one, use Conversation.GetParent to get the original, etc.

    However, this approach is really over the top because as long as the recipients use Reply All, any user could easily see (again, IF Conversations are enabled in their Inbox) that one reply to the original has been received.  And thus they don't have to reply.


    Eric Legault (MVP: Outlook)
    About me...
    Outlook Appins: Store Social Media fields in your Outlook Contacts!

    Monday, July 29, 2013 7:23 PM
    Moderator
  • I'm trying to come up with a way of following the "conversation" (or something like it) without the other recipients actually receiving anything other than the first email. But I can't figure out how to mark the item in everyone's Inbox as having something done to it.

    If the email is to A, B & C and A replies, I can update the item in A's Inbox. But how do I update the item in B's & C's Inboxes? Now that I say this, maybe there's a way to "recall" the email item after the first person replies to it. Maybe that would remove the unread items from B's & C's Inbox. I'm going to tinker with this manually and see how this works. But you may have other ideas on this or something related to it.

    Tuesday, July 30, 2013 10:44 AM
  • It seems that "recalling" a message only works if the original sender tries the "Recall". But in my scenario, usually the original sending is not going to be doing the "Recall". But something like this could work. I guess another option would be to make the VBA do a "SendAs" the original sender. Again, maybe someone has some other ideas about how this could be done.
    Tuesday, July 30, 2013 12:54 PM
  • Don't rely on the Recall feature, it's not reliable.  Regardless, what you want to do is possible but fairly difficult.  The simplest way is to ensure that everyone has delegate Author permissions on each other's Inbox.  Then you can use NameSpace.GetSharedDefaultFolder to get a Folder object for someone else's Inbox.  But you'd also have to monitor that folder's Items collection (Items.ItemAdd event) to look for new messages.  You'd have to do that for every user.  Not fun, and not 100% reliable anyway.

    The pro solution - and the hardest - is to use Redemption running in a Windows service, under the context of an Exchange account that has Full Mailbox rights on all required Mailboxes.  Redemption has better events for reliable Mailbox processing.


    Eric Legault (MVP: Outlook)
    About me...
    Outlook Appins: Store Social Media fields in your Outlook Contacts!

    Tuesday, July 30, 2013 3:01 PM
    Moderator