Mailbox does not exist

Bart Van Loon bart at
Wed Aug 30 04:45:20 EDT 2006

On Tue, 2006-08-29 at 21:25 +0200, former03 | Baltasar Cevc wrote:
> Hi Bart,
> > user.bbbart.Lists.gphoto.devel (\HasNoChildren)
> >
> [...]
> > alex # echo "" | /usr/local/cyrus/bin/deliver -m
> > user.bbbart.Lists.gphoto.devel
> > +user.bbbart.Lists.gphoto.devel: Mailbox does not exist
> > alex # logout
> > bbbart at alex ~ $ echo "" | /usr/local/cyrus/bin/deliver -m
> > Lists.gphoto.devel
> > +Lists.gphoto.devel: Mailbox does not exist
> >
> > course, when I specify the user bbbart at the end of the deliver
> > statement, the empty mail gets delivered in my INBOX, but this is not
> > what I want.
> I don't know wheter I understood what you want - the question I got 
> was: how can I make cyrus deliver use the mailbox subhierarchy of the 
> currently logged in user?

yes, exactly. so my mail is fetched by fetchmail, whcih calls upon
procmail, which in his turn, calls upon /usr/local/cyrus/bin/deliver.
all this happens as the user for which the mail is being processed. in
this example. that would be 'bbbart'.

from the man-page I get the following:

-m mailbox
   Deliver to mailbox.  If any userids are specified, attempts to
deliver to user.userid.mailbox for each  userid.  If the ACL on any such
mailbox does not grant the sender the "p" right or if -m is not
specified, then delivers to the INBOX for the userid, regardless of the
ACL on the INBOX.
   If no userids are specified, attempts to deliver to mailbox.  If the
ACL  on  mailbox  does  not grant the sender the "p" right, the delivery

so I expect that 

$ /usr/local/cyrus/bin/deliver -m Lists.gphoto.devel bbbart

would try to drop the mail into user.bbbart.Lists.gphoto.devel (if it is
allowed) and fallback on user.bbbart

seen from the perspective of the user bbbart, that would be delivery in
INBOX.Lists.gphoto.devel with fallback on INBOX.

isn't this interpretation correct?

my goal is to write procmail recipes that sort my mail by passing it
to /usr/local/cyrus/bin/deliver with the correct -m parameter.

> In that case: what you've seen is the expected behaviour. There is no 
> mailbox named Lists.ghoto.devel; cyrus deliver does not care about what 
> name the calling user has. The system is ignorant of the system users 
> by design - it's a black box.

I see. so are you telling me I should try the following?

bbbart at alex ~ $ echo "" | /usr/local/cyrus/bin/deliver -m
+user.bbbart.Lists.gphoto.devel: Mailbox does not exist

That doesn't work either, as you can see.

> So if you want to work around that, you could either specify the user, 
> create an alias in the shell or something similar.
> However, you may run into permission trouble - as the mailboxes are in 
> some folder tree that belongs to the cyrus user, you cannot distinguish 
> the users there - either you allow anybody (including the nobody 
> account) to deliver mails anywhere or you just deny it to anybody 
> except the cyrus user or group.

hmmm... say my mailfolder is /var/spool/imap/ and there I have the a
subfolders user/bbbart/ and user/bbbart/Lists/gphoto/devel

you are right about the permissions: only the user cyrus has permission
any permissions on /var/spool/imap/user, but if that is the reason why I
can't deliver directly
into /var/spool/imap/user/bbbart/Lists/gphoto/devel, why is it possible
to deliver into /var/spool/imap/user/bbbart, where my INBOX lives?

maybe I should just rephrase my question:

is it possible -- and if so: how? -- to have cyrus deliver mail into a
folder in the hierarchy underneith a user's INBOX folder or is all mail
bound to arrive in the top INBOX folder and is sorting to be done

thank you for your answer.

Bart Van Loon

As a math atheist, I think I should be excused from this. --- Calvin, to

More information about the Info-cyrus mailing list