subfolder delivery with plus addressing, lmtp

Ross Boylan ross at
Mon May 14 16:12:47 EDT 2007

I am delivering mail into subfolders with plus addressing, using lmtp over 
Unix domain sockets.  I discovered that in order to do this I needed to, e.g. 
(in cyradm)
setacl INBOX.comp anyone p
(from a message by Phil Pennock on exim-users 2006-04-22).
Otherwise they end up in the main INBOX.

I thought that delivery by Unix domain sockets was done as an administrator, 
and no additional rights would be necessary.  Is my understanding of 
administrator rights wrong, or is something off about my setup with the 

The Cyrus IMAP server FAQ says
This submailbox must allow the posting user the 'p' right (generally, this 
means 'anyone' must have the 'p' right), otherwise the message will just be 
filed into the user's INBOX.

The Overview says
Alternatively you may deliver via LMTP to a unix domain socket, and the 
connection will be preauthenticated as an administrative user (and access 
control is accomplished by controlling access to the socket).

I'm using exim 4.6.13-7 and cyrus 2.2.13-10 on Debian GNU/Linux; all
operations are on the same machine.

Since I discoverd a few things about how to get this working, this setup info 
may be helpful to others with exim + cyrus.

imapd.conf includes
admins: cyrus

exim's config includes the router
  debug_print = "R: imap_user for $local_part@$domain"
  driver = accept
  local_part_suffix_optional = true
  local_part_suffix = +*
  local_parts = +imap_users
  transport = cyrus

with transport
# Deliver to local cyrus IMAP server via LMTP
  debug_print = "T: cyrus for $local_part@$domain"
  driver = lmtp
  rcpt_include_affixes = yes
  user = cyrus
  socket =  /var/run/cyrus/socket/lmtp
  batch_max = 40

When I send a message to ross+comp at localhost the exim log shows
2007-05-14 11:32:31 1HnfLQ-0000GB-Bu => ross+comp <ross+comp at localhost>
R=imap_user T=cyrus
and the cyrus log shows
May 14 11:24:50 corn cyrus/lmtpunix[752]: Delivered:
<200705141124.48089.RossBoylan at> to mailbox: user.ross

I also tried ross+INBOX.comp
When I added the "anyone p" acl shown at the top of the message, this finally 

Ross Boylan

P.S. My original version of the router lacked the suffix options and the
transport lacked the affixes option.

It would be nice if cyradm had a feature allowing recursive setting of acls.

More information about the Info-cyrus mailing list