Some years ago I came across a book titled Great Email Disasters. This is currently available from Amazon and goes through a list of email blunders that caused significant embarrassment, out of court settlements and even resignations.
Of course the book talks about the most sensational mistakes. However we all know that many lower profile errors do happen every day. Many mail server Administrators receive phone calls from their panicked boss hoping to stop an email they just sent.
Whenever considering the development of a new Exchange add-on, I obviously start from what Exchange already provides. If the Exchange native functionality is good enough, then the project has to be dropped. So I do my best to be objective. Today's article is a snippet of the research I did for WinDeveloper Message Recall. This product was really born in response to some of the shortcomings which are discussed here.
In Recalling Emails from Outlook 2013, 2010, 2007, 2003 we saw how to invoke the Recall This Message functionality from various Outlook versions. Today we take a closer look at how this functionality works under the hood.
How Recalling Works
In Exchange the native message recalling solution is entirely implemented at the client side. Indeed all the work is done at the Microsoft Outlook client. Everything else we will discuss here is a direct consequence of this very important technical fact.
To begin with, recalling is only possible if you are running Microsoft Outlook. Not even OWA (Outlook Web App/Outlook Web Access) provides the ability to recall messages. MS Outlook is the only interface that provides the Recall This Message functionality in Exchange.
The recalling protocol itself is fairly straight forward. As we saw in Recalling Emails from Outlook 2013, 2010, 2007, 2003, whenever a user wants to take back an email sent in error, he needs to open the email from his Sent Items folder and click on Recall This Message. In doing so, Outlook generates a Recall Request Message that is sent to all the recipients of the original email.
The recall request message is delivered to the recipient mailboxes. At some point the recipient's MS Outlook client processes this recall request. If a number of conditions are satisfied the original email is deleted from the mailbox. The recipient's MS Outlook client will also send a Success/Failure Notification to the sender, if requested.
Conditions for a Successful Recall - Why Recalls Fail
With this type of client side implementation, it should be immediately clear that recalls can only be satisfied after that both the original and recall request messages reach the recipient mailbox. I can imagine those designing this feature facing an interesting dilemma. Who owns an email? Is it legitimate for the sender to delete an email once this reaches the recipient mailbox? I am quite sure these considerations played an important role in shaping this feature.
From what we already said, we can obviously see that a recall request can never be satisfied if the recipient is not using MS Outlook. If the recipient is using OWA, he gets a message saying that the sender would like to recall the email. However OWA won't delete the original message being recalled.
Another immediately obvious fact is that the recipient Outlook client must be open for recalls to be processed. So if you are eating your nails waiting for the recall notifications, it's better to sit back and relax. The recipient might be away on a meeting and you will receive no news until he decides to open Outlook.
Recalls Fail if the Original Email was Read
Recalls won't delete an email if the recipient already opened it. This is the most common reason why message recalling fails. As we shall see in the second part of this article, this is not completely true. However let's not go into exceptions for the moment.
Message recalling is a race between the sender and the recipients. If a recipient reads the original email, there is little point in recalling it. So Outlook will not fulfil a recall request in that case. If requested, the sender receives a failure notification.
Depending on the Outlook client settings, the recipient may be able to see Recall Requests at the Inbox as a message item. The request has its own distinctive icon that won't go unnoticed.
The problem with these request messages is that most often they will have the opposite effect. Recipients are alerted to quickly open the original email and see why the sender wants to recall it. Once the original email is opened the game is over and recalling fails.
Automatic Recall Processing
The Outlook client includes a little checkbox setting that determines whether Outlook is supposed to automatically process recall requests. If this is enabled, the recipient Outlook will try to satisfy the request as soon as it discovers that a request was received. An attempt is made to automatically delete the original email without any questions asked.
If the checkbox is disabled, Outlook will leave the recall request unprocessed until the recipient opens it. If the recipient opens the recall request first, recalling is successfully completed with the deletion of the original email. However here the recipients have the opportunity to see exactly when a sender is trying to perform a recall. If they feel like, and very often they do, recipients can open the original email first and recalling fails.
In Outlook 2003 and 2007 you will find the checkbox setting under:
Tools | Options | Preferences <Page> | E-mail Options | Tracking Options | Process requests and responses on arrival
...as the following screenshot sequence shows.
In Outlook 2010 the same functionality is available. However the checkbox text is misleading:
From Outlook 2010 select File | Options
At the Outlook Options dialog that opens select Mail
Scroll down to the Tracking sub-category
The checkbox to enable/disable this functionality is the one saying:
Automatically process meeting requests and responses to meeting requests and polls
The text does not mention Message Recall Requests but it actually does apply to recalls as well.
Today we started discussing how Exchange Message recalling works. Here we only went through the basics. In the next part we get into the more interesting stuff. For example we will see how message recalling sometimes fails the first time you submit the recall, but succeeds if you give it a second try!
In today's article we talked about successful and failed recalls. However we did not define what success or failure truly means. As we will find out in the next part of this article success is not as sweet as some may believe.
The second part of this article is here Message Recall Success! ...kind of
Message Recall Success! ...kind of
Recalling Emails from Outlook 2013, 2010, 2007, 2003