An evolution plugin for Symantec Enterprise Vault


Dilbert is one of my favorite comics, but I never realised how close it came to the truth.

But I can't talk about that any further, because we've been strongly influenced to tell everyone how great the entire Microsoft Exchange groupware project is.

Frequent readers of this blog will without a doubt know that I'm an advocate of free software and open standards. That's one of the reasons I'm paying close attention to non-Microsoft usage of this groupware project.

We will use an excellent mail archiving solution from Symantec called "Enterprise Vault" (E-vault) which is more or less like a "sophisticated" cronjob pulling old mails from the Exchange server and archives them in a database somewhere else. The archived mail is then replaced by a mailstub on the Exchange server so that users can use that mailstub to retrieve their archived mail from E-vault.
This solution from Symantec is much better than the solution we have now (which does the same thing). because it's more expensive and works together with a proprietary closed-protocol, closed-source system.

E-vault can be queried in 2 ways. It has a website that users can login to and search for their archived mails, and it has a plugin for Microsoft Outlook that has the same functionality but baked into the Outlook interface.

Everyone else at our university will have to go through the webinterface.

Jealous of the Outlook users, I decided to take a look at how the E-vault plugin retrieves the mails from the E-vault server. It does that by retrieving a DVS file (Digital Vault Saveset) which is a compressed version of the archived mail with some metadata but of which the specification is a secret and no tools exist in the wild to analyze them.
This of course raises the question what we will ever do if we decide to migrate away from E-vault, but then I'm sure that Symantec will help us to convert our DVS files to a mailformat of our chosing, because they are such nice guys.

Obviously, the DVS files are of no use for me because I can't read them, but I've found a way to retrieve the uncompressed version of the DVS file and parse it. This type of file is refered to as the MSG format and is actually a Microsoft Compound document containing a pre-parsed version of the original mail.
I wrote a parser for this format using Python and it works. Next, I will look into how I can make an Evolution plugin that can retrieve such MSG file and render it in Evolution.