GSoC/GCI Archive
Google Summer of Code 2011

K-9 Mail

Web Page:

Mailing List:

K-9 Mail is an open-source e-mail client with search, IMAP push email, multi-folder sync, flagging, filing, signatures, bcc-self, PGP, mail on SD & more! It is based on the Email application shipped with the initial release of Android. K-9 supports IMAP, POP3 and Exchange 2003/2007 (with WebDAV). With over 800,000 downloads and 350,000 active users, K-9 mail has a large, enthusiastic installbase. It can be obtained from the Android Market here:


Check out our ideas page for GSoC. If there's an idea you're excited about, please discuss it with us at


  • An user friendly account set-up wizard with automatic settings detection mechanisms. This project will implement a new wizard for K-9 providing users with a very easy way to set up new mail accounts. It will search for accounts on the devices. It will try to configure them using various mechanisms also used by the Thunderbird e-mail client. These consist of using the Mozilla ISP db, checking for configuration files on the isp's server and guessing. All this will be packed in one user friendly wizard.
  • Implementation of missing IMAP features and extensions With the increasing popularity of IMAP, some of the most requested features and reported bugs for K-9 Mail are those which concern implementation of IMAP features which not only provide additional functionality, but also improve performance, and reduce inconsistencies across the application, leading to a better overall experience. My project aims at implementing some of these critical IMAP features and extensions.
  • Microsoft Exchange ActiveSync Support in K-9 Mail I am frustrated by the lack of proper free Exchange support on Android and would like to implement it. Many of my friend use weird solutions to make Exchange ActiveSync work on their Android phones, so in addition I'm interested in helping them.
  • Overhaul database schema and abstraction layer The goal of the project is to be able to store the structure of arbitrary complex MIME messages in the database for easy access and to be able to reconstruct a byte-identical copy of the original message. This is needed for common email encryption systems like PGP/MIME and S/MIME; but also for seemingly simple tasks like export of a single message or viewing the message source. Additionally the database abstraction layer will be changed to better utilize the help Android provides with it's API.