Folks,
Short version:
I have an exim 4.20 server that delivers local mail to imap mailboxes using
cyrus imapd and "deliver". Recently cyrus was mucked up by me, temporarily,
and instead of keeping the messages for possible local delivery later it
bounced them. Is it possible to change that behavior to keep them within
exim so that when I sort out the local delivery they can be delivered?
Details:
The delivery transport looks like this:
imap_delivery:
driver = pipe
command = "/usr/cyrus/bin/deliver -a ${local_part} -e ${local_part}"
delivery_date_add
envelope_to_add
user = cyrus
group = mail
initgroups
log_output
message_prefix =
message_suffix =
retry_use_local_part
return_output
return_path_add
current_directory = /tmp
"Deliver" uses lmtp to read the mail to be delivered, as far as I can see..
Retry rules are:
* * F,2h,15m; G,24h,1h,1.5; F,30d,23h
Normally this works ok and mail is delivered properly [with one exception:
cyrus adds a false Return-Path header which I've never been bothered to
sort out].
However a few days ago I messed up cyrus by starting it with euid=0, uid!=0
(I think) so it had permissions problems. The actual failure isn't
important to this question. The result was that "deliver" was failing (not
quite sure how, but I think it was starting, failing to connect to lmtp and
giving up). The following is the history from the log for one message
(picked from many) from Linux-kernel to me, that bounced:
2003-06-15 10:11:33 19RTXt-0004cQ-0N <=
linux-kernel-owner+Ruth.Ivimey-Cook=40ivimey.org@???
H=vger.kernel.org [209.116.70.75] P=esmtp S=2258
id=1055668035.18966.0.camel@???
2003-06-15 11:11:33 19RTXt-0004cQ-0N ** ruthc@???
<Ruth.Ivimey-Cook@???> R=localuser T=imap_delivery: pipe delivery
process timed out
2003-06-15 11:11:33 19RUU1-0004fN-Jl <= <> R=19RTXt-0004cQ-0N U=exim
P=local S=3221
2003-06-15 11:11:33 19RTXt-0004cQ-0N Completed
So the question: why did exim bounce the messages straight away even though
it had verified that the user was local?
Thanks for any help,
Ruth