and I'm all out of bubble gum…


So… a bit of background: Outlook is a terrible program, and reasonable people might choose to use something better to interact with their emails. In so doing, one often has to fall back on the IMAP protocol to interact with one’s Exchange server.

And, if one’s Exchange server is hosted on Office 365, it appears that all of your data is served up via IMAP. By “all”, I mean not just email (which you expect), but also contacts and calendar events. In general, these should show up on the eponymous folders within your directory (“Contacts” and “Calendars”, and various subfolders within that). This means that your email program can, potentially, allow you to do things with your contacts and calendar events as though they were emails… things that Exchange/Office 365 might not necessarily recognize as “valid” and could result in serious data corruption and deletion. This. Is. Bad.

The Problem

Suppose one connected a client such as MailSpring via IMAP to Office 365. Hypothetically. Not that anyone near and dear to me might have done such a thing, but let’s suppose. It turns out that MailSpring will (correctly) recognize that the calendar events and contacts are not mail messages, and then fail to download them. In fact, the various folders would be filled with messages (one per contact or calendar event) that read:

Retrieval using the IMAP4 protocol failed

This looks like junk. So one might be forgiven for, say, deleting the message. Curiously, MailSpring then deletes the original (unretrieved) file from the server… deleting the contact or calendar event.

As an aside: I observe that many other mail clients (Outlook,, etc.) choose to simply hide these files, rather than presenting this confusing message.

As a further aside: these IMAP-error-message messages, in our scenario, confusingly appeared in the Sent Items folder, rather than a calendar folder. No explanation has thus far been found for this…

So. Maybe a few hundred or thousand calendar events get deleted from an Office 365 account. How to get them back?

The “Solution” (incomplete, unfortunately)

In the end, it was a multi-step process:

  1. Undelete the deleted messages. We did this via the the Office 365 web client for Outlook. We went into the Deleted Items folder, followed the link to recover deleted items, selected everything, and recovered it. This recovered about 700 of the deleted events (not all, but some). At this point, all the previously deleted events are now in the Deleted Items folder, but not fully deleted. (I’m not 100% confident, but I believe we could have done this step in either the old or the new web interface for Outlook.
  2. Restore the messages to the calendar itself. This was harder, because it turns out that — since most email clients, including the new Office 365 Outlook web interface correctly don’t display calendar events in their mail interface — this could only be done in the old Office 365 Outlook web interface. Which means this solution may not last forever. In the old interface, we were able to select batches of items and then, via the “Move…” menu icon, move them back to the calendar. We couldn’t move them all at once, since the web interface couldn’t track selections larger than about 30-40 items at once. At this point, all recovered calendar events now exist in the default calendar.
  3. Clean up by hand. Since multiple calendars were actually involved, we had to go through the recovered items by hand, deleting them from the default calendar.

Further Work

This takes us through midweek. At this point, it appears that this process is not 100% successful: new edits to the calendar are not always “sticking”. Our surmise is that Outlook views the calendar files as corrupted. This is further complexified by the fact that not one, but several calendars were involved. The subscribed calendars come from a separate account (not Office 365) and changes (including the original deletions) seem not to have transfered consistently upstream (although some new additions and moves from the default calendar have).

This is a pain.

Our next step, we think, will be to export the default calendar to an ICS file, unshare the files with the Office 365 account, and basically purge all calendar data from the Office 365 account. Then we’ll reimport the ICS file of exported items to the calendar, and reshare the calendars from

Confidence is not super-high. But I figured that posting this process could be helpful to others in our boat.

May 10th, 2019

Posted In: How To

Tags: , , , , ,