Zarafa-Inspector: A Graphical MAPI Explorer

June 16, 2014 by Jelle van der Waa  

Employees at Zarafa often want to debug issues related to MAPI and verify if properties are written correctly in MAPI. All of our developers use GNU/Linux as their standard development environment and often want to look into how the data is stored when they create an email (or for example import an EML). For GNU/Linux there aren't any tools which can connect to a Zarafa-server and display the stored information, so this blog article describes the development of the Zarafa-Inspector, it's usage and possible future features!

Zarafa-Insepctor GAB

A couple of months ago we started working on the new Python Zarafa search solution. For search we created a new module called python-zarafa which makes it easy to interact with Zarafa. The developer who uses this module no longer has to have specific low-level knowledge of MAPI which makes it much easier to write code. Using python-zarafa we created a UI which makes it possible to look into MAPI and named it Zarafa-Inspector. The tool uses PyQt which is a python binding of the cross-platform GUI toolkit Qt for the creation of UI components.

 

The Zarafa-Inspector consists of two tabs, the first tab contains the global address book (GAB) and lists all of the users on the connected server. When you click on a user in the GAB tab, it will load the user's User Store in the "User Store" tab which contains:

  • a folder tree structure of the users store
  • the records in a selected folder (which are shown when you click on a folder)
  • the property table of the selected folder or record. (which is shown when you click on a folder or record)
  • the attachment and recipient table of a message (can be shown by right clicking on a record)

 

The right clicking on a record or folder also provides the following functionality:

  • deleting a message
  • creating a folder
  • export folder as MBOX
  • export folder as Maildir
  • importing an EML
  • saving an attachment from the attachment table

The Zarafa-Inspector is still under development and in the future I would like to add the following features:

  • Importing emails and MBOX formatted folders

  • Import and export Maildir

  • Editing records and properties

  • Viewing the recipienttable

  • Automatically syncing the userstore

Zarafa-Inspector User Store

 

You can start using the Zarafa-Inspector by following the instructions on Github, it's already possible to connect to a remote Zarafa-server using SSL. Please note that the program is still in it's experimental phase, so don't panic when things break!

 

Issues can be reported via the Github issuetracker https://github.com/zarafagroupware/zarafa-inspector/issues, also note that the performance of Zarafa-Inspector might be suboptimal since it hasn't been optimized to handle big mailfolders (200+ emails).


I hope you find my tool useful!