subfolder delivery with plus addressing, lmtp

Ross Boylan ross at biostat.ucsf.edu
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 
sockets?

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
imap_user:
  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
cyrus:
  debug_print = "T: cyrus for $local_part@$domain"
  driver = lmtp
  delivery_date_add
  envelope_to_add
  return_path_add
  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 stanfordalumni.org> 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 
worked.

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