2018.04.02 / 02:48

Gavamail: A POP3/IMAP server for GMAIL written in JAVA

추천 수 62

Gavamail: A POP3/IMAP server for GMAIL written in JAVA

Project Page | Downloads | CVS | Latest News |Implementation details | How can I help? | About Me | Acknowledgments |Contact

Gavamail is intended to be a POP3/IMAP server implementation for your GMAIL mail account. It uses the g4j library to contact gmail.

Currently it only implements the POP3 server. I am new to all this(reading RFC documents, Socket programming etc.) and hence thought of developing the easier option first.

I will upload more information here as and when new developments take place. I am trying my best to release a working copy as soon as possible.

Latest News

  • 8'th November, 2005: I recently realized that the phpwiki is not working. I don't know what's wrong and don't have the time to figure it out right now. Hence, for now, this will be the homepage. When I get time, I will look more into putting up a better website.

  • 13th October: Apparently gavamail does not run with old version of the SUN JVM. You will need to have the latest JVM(1.5) in order to run it. The main reason I did not compile gavamail with 1.4.2 is due to a certificate error the library has which has a very complex solution. Hence I did the easier thing and changed to 1.5...:). I suggest you do too since it has many additional features and in my limited experience with it, I think it runs faster.

  • 12th October: Finally, I have released version 0.1 of gavamail. This is a pop3 server for gmail listening on port 11112 on localhost. Read the README file for more info. Hope you like this release.

  • 10th October: Ok, It seemed like gavamail worked for all clients(As I have written in the latest CVS commit) but apparently mutt breaks on large accounts(like my main gmail account). It does work on smaller ones though(like my testing gmail account). Thunderbird works on both. The catch here is that gavamail doesnt fetch all the mails, only the ones that come on the first page of your account. I did not realise this would be an issue until i tested it with my actual gmail account. I will try to find a fix for this. Hence, again a release is delayed. I swear I wanted to release a alpha version today. I will try my best to have a release ASAP.

  • 8th October: It seems like a POP3 server is not supposed to show the various folders on a remote server, which means there can be no support for Labels, Drafts, Sent mail, etc. So i guess you will have to depend on other programs for doing this work if you are going to be using the POP3 server. You can try out procmail or PopFile. Both these seem to be very good so people should not miss googles filtering mechanisms. Oh, and I promise, I will get started on the IMAP server ASAP. Its just that the RFC for the IMAP server is way too complicated to understand it in one session/read.

  • 7th October: Ok, it seems like gavamail works with Thunderbird. Thunderbird, reads all the headers and displays them nicely. I also am not removing the HTML code in the messages so All you graphical mail client users can have a good time. Besides I think taking care of the HTML part is the clients job, not the servers. That said, mutt doesnt seem to pick up the headers and is not showing any of the information...:(. It does retrieve the messages though...;). I will try to fix this. I dont know whats going wrong.
    Oh and also, DELE is not implemented yet so I am not releasing a version until I have implemented that which probably wont be until tommorow since I need to understand its exact implementation and also I need to fingure out a way to track which all messages have been marked for deletion.
    Checkout the CVS if you are interested in all this. Enjoy.

  • 6th October: gavamail is working with mutt and gkrellms on linux. gkrellm works perfectly(as in displays the no. of new mails). I am still waiting on the next release of g4j which will include a method to get the headers from the message. Once this is done, mutt will display everything just like it does from your normal pop3 server. Checkout the CVS repository if you are interested.

Implementation Details:

Gavamail is implemented pretty much like MrPostman. It opens up a port(11112) on your local box and listens on it for incoming connections. To connect to this server, you will have to setup ur e-mail client like normal - give the server address as localhost and change the port to 11112.

How can I help?

I am the only developer working on this project now and since I am also studying I dont have too much time to work on gavamail. I would therefore appreciate a helping hand here so an initial release can be made ASAP. Checkout the CVS tree and see if you can help. If you think you can, mail me.

About Me

I am a OSS enthusiast and love to learn through experiment(hence this project). You can read more here. Also checkout my other project jfortune.


  • SiuYing for his great Gmail API at g4j.sf.net
  • The good people at mutt and thunderbird for providing some of the best mail clients in the text based and graphical enviornments respectively and for also being the two testing platforms for this project.
  • The RFC document I read for the POP3 server which can be found here.
  • J. Jordens for getting me started with linux(indirectly...;))