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.
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, Mail.app, 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?
In the end, it was a multi-step process:
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 Outlook.com 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 Outlook.com 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 Outlook.com.
Confidence is not super-high. But I figured that posting this process could be helpful to others in our boat.
Seth Battis May 10th, 2019
Posted In: How To