Gmailreader Home Page

1. Introduction

Gmail is a very popular e-mail server nowadays. People like being able to access their e-mail, organized just like they want, from anywhere they might be. Before gmail there wasn't many good interfaces for that, but google showed that it's possible to have a reasonable e-mail reader running on top of a browser.

Unfortunately, when you're at your home computer, you are able to have whatever program you wish running, and suddenly the browser reader isn't that nice anymore. Using it means opening up a bloated browser (lightweight ones won't work, or at least not nearly as nice) just for e-mail. Since I'm running a slow computer, I really can't afford to have a heavy browser always running; I was almost forgeting about having an organized web interface and starting to use the POP3 interface. But then I bumped into libgmail, which exported a lot of gmail's interface to python. As soon as I found it I started hacking my own terminal-based program. I called it gmailreader.

Using gmailreader you don't need a web browser at all! You can read, compose and archive e-mails, you can see the e-mails by labels. And the best of it all, you do all that from your terminal. Oh! Another good thing! You can use your favorite editor to edit your e-mail -- how wonderful is that? After you're done reading your e-mails with gmailreader you'll find out that all that archiving, reading, spam reporting, etc you did on gmailreader happened to the gmail interface as well. That means you don't have to choose between a organized web interface or reading e-mails outside a browser; you can have both.

2. Using gmailreader

Sorry, I didn't have the time to write this properly yet.

If you start it and type "help" you'll be able to see all the available commands. Also, you can place a .gmailreader/config file in your home with any (or all) of these:

username = your_gmail_username
password = your_gmail_password
editor = your_favorite_editor_executable_name

3. Dependencies

4. Download

Latest release:

Latest release of the modified libgmail:




I couldn't find the official website, so that's the original package from debian's repository. Also, you can take a look at the debian's package website.

You can download the version I'm working on using the following git command:

git clone git://

Please, browse through gmailreader's code as much as you want.

5. Libgmail

A little explanation about libgmail is in necessary. It's very important for the project, using it I'm able to use gmail's interface through python programming. I'd never dare to write my program without a library such as that (at least not at first). Understanding, parsing and manipulating web sites like that is really tiresome and I was really glad someone did that job for me. Because of that I'm able to only use beatiful Python (no javascript, no ajax, no html forms!!).

The library is good, but it didn't have all the features I wanted. So I had to edit it in order to make them available. The changes I made were only dirty changes, but they got the job done. I called my version of it libgmail-0.1.8-rafaelX, where X is the release number of the patch. While gmailreader will work with the official version of libgmail (hopefully, let me know if it doesn't), it will lack some of its features. So I really advise you to use my version of it. You can just drop the .py on the same directory as gmailreader.

The library is licensed GPLv2 only. That means that it can't be uploaded to savannah (it had to be GPLv2 or later). Thus, all the links for my modified version of libgmail are external and the library is nowhere to be found in savannah's repository. Moreover, it means that the whole project becomes GPL. You'll notice that all the files you download from savannah are actually released under BSD license, but since they depend on GPL the project becomes GPL.

6. Links

7. Contact

My name is Rafael Cunha de Almeida and if you have any questions you can reach me at:


Copyright (C) 2008 Rafael Cunha de Almeida. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

All media on this site is subjected to the GPLv2 or (at your option) any newer version.