Hi,
I've taken all the good advice about eliminating procmail as a delivery
agent in our mail configuration, and am looking at achieving similar
functionality using just exim, cyrus and exim system and user filters.
In between a zillion other crises, things are edging along and I'm
getting somewhere.
But there's two problems I've encountered in checking that cyrus
quotas handshake correctly with exim and requeue mail destined for an
overquota mailbox. Cyrus signals correctly with a "75" temporary error,
but exim bounces the mail immediately instead of holding it in the
queue. As far as I can see, the transport is set up to do just this,
but no way...
The second problem is related to this... how does one specify a list of
integers? I've tried:
temp_errors = 73 75
temp_errors = 73, 75
temp_errors = 73 : 75
and
temp_errors = "73 : 75"
all to no avail. Exim whines about configuration errors when reloading,
and I've searched in vain through the online documentation for an
example.
Anyway, here's the relevant transport section dealing with simple
cyrus delivery:
================================================================
local_delivery_cyrus:
driver = pipe
command = "/usr/local/cyrus/bin/deliver \
-e -m ${substr_1:${local_part_suffix}} -- ${local_part}"
user = cyrus
group = cyrus
delivery_date_add
envelope_to_add
return_path_add
return_output
ignore_status = false
temp_errors = 75
log_output
prefix =
suffix =
================================================================
When sending mail to a test user mailbox that is deliberately driven
over quota, exim logs the following and immediately returns the mail.
The bounce message, incidentally, makes all the right noises about the
destination mailbox being over quota.
================================================================
1999-08-12 19:15:49 11EySD-0001Xm-00 <= Jacot@??? H=turtle.ru.ac.za
[146.231.128.8] P=esmtp S=868
id=Pine.LNX.4.10.9908121915240.2153-100000@??? from
<Jacot@???> for ccfjg+imap@???
1999-08-12 19:15:49 11EySD-0001Xm-00 <ccfjg+imap@???>:
local_delivery_cyrus transport output: ccfjg: Over quota
1999-08-12 19:15:49 11EySD-0001Xm-00 ** ccfjg+imap@???
D=local_user_cyrus T=local_delivery_cyrus: Child process of
local_delivery_cyrus transport returned 75 (could mean temporary error)
from command: /usr/local/cyrus/bin/deliver
1999-08-12 19:15:49 11EySD-0001Xr-00 <= <> R=11EySD-0001Xm-00 U=exim
P=local S=1757 from <> for Jacot@???
1999-08-12 19:15:49 11EySD-0001Xm-00 Completed
1999-08-12 19:15:49 11EySD-0001Xr-00 => ccfjg+imap@???
<Jacot@???> R=lookuphost T=smtp H=terrapin.ru.ac.za [146.231.128.6]
C="250 OK id=11EySD-0006tS-00"
1999-08-12 19:15:49 11EySD-0001Xr-00 Completed
================================================================
Are there any other config settings that could be causing this
behaviour?
Many thanks,
Jacot
--
F.F. Jacot Guillarmod - Information Technology - Rhodes University - Grahamstown
Internet: Jacot@??? Phone: +27 46 603 8284 Fax: +27 46 622 7764
The views expressed above are not necessarily those of Rhodes University