[Catmail] Backend implementation using Mail::IMAPClient and Mail::Box - SpiraMail

Gaurav Khambhala gaurav at deeproot.co.in
Mon Sep 15 15:48:28 BST 2008

Hi all,

Terence Monteiro wrote:
> Hello folks,
> I'm Terence, a full time FOSS hacker based in Bangalore, who enjoys working
> with Perl and Catalyst. For long, building a Catalyst based webmail has
> been on my and my colleagues wishlist. We thus embarked on the SpiraMail
> project http://code.deeproot.in/spiramail/ to implement this, but it came
> to life very recently, after we saw the bounties on offer by the Cat folks.
> We've been working on a OO backend, to be stitched by C::M::Adaptor for a
> model, and decided to separate out backend functionality into a few classes
> like IMAP, Connection, Folder, Mails and Mail to start with. To share my ideas:
>  * IMAP is the main backend class, which provides a connect method,
> returning a Connection object.
>  * The Connection class has a get_folder method that returns a Folder object.
>  * The Folder class has get_messages method that returns a Mails object.
>  * The Mails class has count and next methods. The next method returns a
> Mail object, and is used for iteration.
>  * The Mail class represents a single mail
> We started writing the backend using Mail::IMAPClient, because of the
> extensive set of methods available. We're happy that Matt has some nice
> things to say about it. We saw Mail::Box, and thought it a good candidate
> to use for message parsing, but we're currently stuck at extending Mark's
> Mail::Box::IMAP4 and Mail::Box::IMAP4::Message to implement our Folder and
> Mail classes.

You can check out our code from the following path,


> We're happy to share ideas, snippets and code. Currently our code is on a
> subversion repository accessed over SSH. We'll provide access over
> anonymous HTTP soon and update you.

Hope this will help you to understand our approach.

Thanks & Regards,
DeepRoot Linux Pvt Ltd
Getting GNU/Linux to work for you. Faster. Better. Today. Every way.
+91 80 41124781 / 82 

More information about the Catmail mailing list