[Exim] More on exim and cyrus mailbox quotas

Top Pagina
Delete this message
Reply to this message
Auteur: F.F. Jacot-Guillarmod
Datum:  
Aan: exim-users
Onderwerp: [Exim] More on exim and cyrus mailbox quotas
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