Re: [exim] handling failures in pipes

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: exim-users
Subject: Re: [exim] handling failures in pipes
On 2006-11-01 at 03:50 +0000, Ian P. Christian wrote:
> I'm delivering mail to cyrus in a pretty standard way:


> I would rather mail be accepted and stored locally untill cyrus is
> backup, bouncing the mail just because cyrus is down is not an option.
>
> How might I achieve this?


In addition to the other suggestions, you can also rely upon the default
SMTP/LMTP failure modes and, if you use cyrus.conf's prefork, smooth out
any brief spikes in load by ensuring that the delivery processes are
already forked and waiting.

In your cyrus.conf SERVICES section, you have something like:
   lmtpunix      cmd="lmtpd" listen="/path/to/socket" prefork=2


Then in your exim.conf you have something like:

imap_inject:
driver = lmtp
socket = IMAP_LMTP_SOCKETPATH
envelope_to_add
user = cyrus
group = cyrus
rcpt_include_affixes
headers_remove = "lines"
headers_add = "Lines: $body_linecount"

where IMAP_LMTP_SOCKETPATH is defined at the start of the file and the
Lines: header stuff can be ignored if you don't care about having mutt
be able to show the line-count in the index before it's retrieved an
email.
--
"Everything has three factors: politics, money, and the right way to do it.
In that order." -- Gary Donahue