Thursday, July 25, 2013

Integrating Apache OpenOffice 4.0 with GMail using MAPI

Legend Netscape and Mozilla programmer Jamie Zawinski (aka JWZ) has  humorously stated in his Law on Software Development that "Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can."

While the popular OpenOffice open source office suite did not yet "expand to do e-mail", it allows sending documents from the program interface using whatever e-mail client program is configured on your system, be it Mozilla's Thunderbird, or Microsoft's bundled Windows Mail, or the former Outlook Express, on Lotus Notes, or Eudora, you name it.

The problem comes, as one AOO user recently pointed, when you expect apps that can fire your e-mail client to "work with GMail". The problem is that GMail is not an application. GMail is a web site. You can have an application like Open Office call your default web browser, and even tell it to load GMail with a compose window opened, but you still can't tell the browser to attach a given file to your new composed e-mail. At least not without some "glue code".

Rob Weir explained: "there is an industry standard for accessing email:  MAPI(Messaging Application Programming Interface).  OpenOffice works with any application that supports MAPI.   Most email clients support MAPI.  GMail does not.  That is their choice.  We can't force them to support MAPI.  But we're not writing custom support for every email client in existence.  We support the standard. "

Thats where "TVHGoogleMAPI" comes in. It is an Apache-license open source project that makes GMail a registered "Simple MAPI" protocol handler on Windows. I have tested it with Windows 7 (64-bit edition) and I confirm that it works.



You can download this app from its Google Code project page at:
http://code.google.com/p/tvhgooglemapi/downloads/detail?name=tvhgooglemapisetup-0.4.exe

The install was painless to me. Just follow the dialogs and it configures itself automatically. It just places an icon available from the Start button to uninstall it. Other than that it seems to work automagically. ;)

Screenshots are included below:


1. You load a document on AOO 4.0 and click on File-Send-Send document as E-Mail

2. The TVHGoogleMAPI program will ask for your GMail account credentials. See the disclaimer at the end of this post about security concerns.

3. GMail opens up with your system default web browser with a GMail email compose window, and the AOO document attached to it.

4. If you have GMail configured to use the new UGLY GMail COMPOSE WINDOW this is what you will see.

5. The other user receives your attached AOO 4.0 document in his e-mail.


A SPECIAL NOTE ABOUT SECURITY:
This APP, AS ANY INTEMEDIARY APP, REQUESTS YOUR GOOGLE ACOUNT CREDENTIALS, AND OFERS TO SAVE THE DATA SO YOU ARE NOT PROMPTED EVERY TIME. THIS COULD BE A SECURITY CONCERN FOR SOME.

 I did test this app with a new GMail account, not using my main one. I am not the author of this linked application and I have not audited its source code. If you are concerned about this, you might want to create a secondary GMail account just for this use, or enable two-step authentication. Use the app at your own risk.

I hope this helps people wishing to integrate Apache Open Office with GMail.
FC

3 comments:

Ramiro said...

Gorgeous!

Anonymous said...

You can also use MAPI4Webmail

Peter said...

I have tried it. This program just logs into gmail via IMAP, and stores the message in the drafts folder.
This is not MAPI compliance. to be compliant it needs to allow the user to Send the mail as well, and then store the message just sent in the Sent folder.
This operation simply cannot be done through the IMAP protocol.
Use Zimbra for this, it is really more open and configurable than gmail because it's open source.
If you don't believe me, try to send a mail using the mail merge function of Microsoft Office. You can't do that.