email server concept: what's mail delivery agent

m m at
Wed Jun 2 09:12:14 EDT 2004

> From: Zhang Weiwu <zhangweiwu at>
> Date: Wed, 02 Jun 2004 19:49:53 +0800
> To: info-cyrus at
> Subject: email server concept: what's mail delivery agent
> Hello. I'm trying to set up an email server several days. I think the
> most difficult part is to know when what does what. I wish to be clear
> on some concepts.

You should read a few books and the relevant RFC documents BEFORE going any

> I am running cyrus + postfix + ldap on a gentoo server, multiple virtual
> domains (sealed mail server, no mail user have system account). It seems
> to me:

Well, by your own admission, you're not running it yet!  You're still trying
to set it up.  The setup you are mentioning (postfix+cyrus+ldap+multiple
vdomains) is fairly complex ... not ridiculous, mind you, but fairly

Before trying to set it up this way, you should:

1.) install Postfix and make sure you understand how it works with system
users (i.e. Unix accounts).

2.) then add virtual domain support to postfix using the internal postfix
methods -- make sure you understand how it all works.

3.) then begin doing ldap lookups using postfix, also.

4.) finally, after checking each little piece of the puzzle leading up to
this, install cyrus and configure it.

In short, don't rush in & try to do the whole shebang at once -- work in
smaller pieces and learn/prove each piece before adding another --
otherwise, debugging will be a major headache!

> 1. Moden mail servers don't often do mail forwarding. So upon receiving
> an email, it will always be 'local delievery'.;

Not true.  Depends on setup.

> 2. Documents often mention 'delivery agent' and 'maildir', it seems
> 'delivery agent' is not a standalone package, there is a delievery agent
> in postfix package, and there is also one in cyrus package, I can choose
> to use the delivery agent (postfix's or cyrus')

Actually, not quite.  For delivery via Cyrus using Postfix, delivery is via
Cyrus -- technically making Cyrus the delivery agent.

Maildir is not related to delivery agent -- its merely a storage format.

> 3. maildir is a way to store email, it is where postfix save incoming
> mail, and it is the place cyrus-imapd get emails so that to put to
> user's INBOX. But an email server can have no maildir completely, and
> let cyrus's delivery agent by pass maildir and put mail directly to
> user's INBOX.

Wrong.  The "INBOX" is the user's Maildir.  When using "real" users (system
accounts), the INBOX is the /users/home/username/Maildir directory; other
mailboxes are subdirectories of ~/Maildir.

Using Cyrus with virtual users, the only difference is the location of the
Maildir and who has access to it.

> 4. putting the incoming emails in to each coorisponding domain's email
> storage place is the job of delivery agent.


> I feel messed up reading all the documents, now I am afraid I got severl
> concepts completely wrong so I just write what I think plainly and hope
> someone kindly come out and say to me "hey, you got xxx wrong here", and
> I'll be thankful:)

There are several good books on the subject.  The Postfix site has some
great documentation (, including a postfix-cyrus

> Thank you.
> ---
> Cyrus Home Page:
> Cyrus Wiki/FAQ:
> List Archives/Info:

Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list