Project

General

Profile

Actions

Feature #12430

open

libmailrados: Mailbox storage on RADOS

Added by Wido den Hollander almost 9 years ago. Updated over 3 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
-
Category:
librados
Target version:
-
% Done:

0%

Source:
other
Tags:
dovecot,mail,mailbox,libmailrados,rados
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

A long outstanding idea is that we want to store mail in RADOS.

Dovecot is one of the most popular IMAP/POP3 servers and the Pro version (paid) supports Object Storage. Although it says it supports Ceph, it doesn't. It supports Amazon S3 and via the RADPS Gateway Ceph works.

That is however not efficient and will not scale as good as native RADOS does. Also, Dovecot Pro is NOT Open Source.

My idea is basically: Dovecot -> libmailrados -> librados -> Ceph

Initially we would need to write libmailrados which supports:
  • Creating Mailboxes
  • Listing Mailboxes
  • Storing E-Mail
  • Fetching E-Mail
  • Labeling E-mails
  • Importing/Exporting to Maildir

This library should support all kinds of things and also having tooling.

After the library is finished it can not only be integrated into Dovecot, but into various other IMAP/POP3 servers.

It doesn't have to be integrated into Postfix, since Postfix can use Dovecot as a Delivery Agent which then handles writing the e-mail to RADOS.

So in libmailrados we abstract the Mailbox <> RADOS part. And Dovecot will only talk to libmailrados.

Steps:
  1. Define libmailrados API
  2. Write libmailrados
  3. Write tooling for libmailrados
  4. Implement libmailrados in Dovecot, Courier, Cyrus, etc
Actions

Also available in: Atom PDF