Re: [Exim] Exim4 & delivery to Cyrus21 mail folders :-(

Top Page
Delete this message
Reply to this message
Author: Kjetil Torgrim Homme
Date:  
To: exim-users
Subject: Re: [Exim] Exim4 & delivery to Cyrus21 mail folders :-(
On Tue, 2004-01-06 at 03:01, Jim Archer wrote:
> I have been trying to get Exim4 to deliver into a Cyrus21 mail folder. All
> that happens is that the message ends up in the Inbox. I have checked to
> make sure the folder actually exists. I am using the cyrdeliver program
> with the ?m option, so I think that ACLs should not be an issue. I have
> been through the archives and docs and can't seem to find an answer, so if
> someone would help me I would really appreciate it!
>
> I have tried the simplest syntax for the Exim4 transport I could think of.
> Here is what I have in my Exim4 conf file:
>
> local_delivery_cyrus:
> driver = pipe
> command = /usr/sbin/cyrdeliver -m SPAM -- jim
> user = cyrus
> group = mail
> log_output
> message_prefix =
> message_suffix =
>
>
> For the ?m option, I have also tried the values user.jim.SPAM and jim.SPAM.


-m SPAM is correct.

your problem is that you (anyone/anonymous) don't have access to post
new messages to user.jim.SPAM. you have to

a) add an ACL "anyone p" to every INBOX (this setting will be inherited
when the user creates a new mailbox)

or

b) specify "-a jim" to deliver.

or

c) use
driver = smtp
protocol = lmtp
authenticated_sender = <variable containing username>
(this requires Exim 4.20 or newer)

the advantage of method a) is that it works even if you use LMTP, and it
allows automatic filtering of jim+stuff into user.jim.stuff, without any
Sieve configuration from the user. the same goes for c) if you use the
same method for normal delivery.

I highly recommend the use of LMTP over deliver. deliver will munge
error reports which is very confusing for both postmaster and user. the
reason for that is that it can only report one text string per numeric
failure code, even if lmtpd can report different strings with
diagnostics. what's more, if lmtpd is down (e.g., if Exim starts up
before Cyrus has recovered), you will bounce messages!

we actually use deliver for spam delivery (but LMTP for the rest[1]),
but we could instead change local_part_suffix into "SPAM" and use LMTP
delivery for that, too. not sure if that's a good idea or not, since
the user's Sieve script may want to know what the original
local_part_suffix was.

sorry about all the Cyrus specific talk, fellow list members, I suggest
we take it any further discussion to the info-cyrus list.


[1] we have another exception, e-mail from postmaster, this is sent with
deliver -q since Exim's SMTP/LMTP doesn't provide a way of enabling the
IGNOREQUOTA extension.
--
Kjetil T.