[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Maildir quotas



also sprach Shane Chrisp <shane@2000cn.com.au> [2005.08.27.1122 +0200]:
> Im referring to NDR's, not a simple 4xx, 5xx return code. Everyone has a
> different way of thinking in this area. I see handing the message off to
> another delivery agent as a waste of threads when it can all be handled
> at rcpt time and closed before being accepted if its no going to be
> delivered.

You don't even know the size of the message at RCPT time. How do you
want to do quota checks?

> I dont know postfix well enough to know if it closes the smtp
> conversation once its handed off to the mda, but i would assume
> that at this point it would have.

It does not.

For instance, put the following into .procmailrc:

  :0
  * ^Subject: MDA test
  {
    EXITCODE=69
    :0
    | echo -n "this is a test"
  }

And send a message.

  Aug 27 11:54:24 albatross postfix/local[2898]: E8FB68E9DED:
  to=<madduck+mdtest@madduck.net>, relay=local, delay=423,
  status=bounced (service unavailable. Command output: this
  is a test )

So that's a 5xx, meaning that the sender's smarthost now generates
a DSN and sends it to the sender. This is exactly the way it would
happen if postfix rejected the mail at RCPT stage, but now it can
actually let the decision be made by the MDA, which knows about
quota. postfix is an MTA, period. Exim has featuritis.

Now, for the case of quota, you might want to return 4xx instead
(depending on your policy, of course). Just use return code 75.

-- 
Please do not send copies of list mail to me; I read the list!
 
 .''`.     martin f. krafft <madduck@debian.org>
: :'  :    proud Debian developer and author: http://debiansystem.info
`. `'`
  `-  Debian - when you have better things to do than fixing a system
 
Invalid/expired PGP (sub)keys? Use subkeys.pgp.net as keyserver!
 
if con is the opposite of pro, is congress the opposite of progress?

Attachment: signature.asc
Description: Digital signature (GPG/PGP)


Reply to: