[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.1214 +0200]:
> During the smtp conversation servers can use the SIZE= command.

At this point in time, you don't even know who the recipient is. How
will you calculate the quota? And even if you could, who guarantees
that the client respects it?

One could conceive the client sending a SIZE parameter as well, but
who guarantees that it is accurate?

The only place where you can do quota rejects is when you know the
recipient and the entire message size. And the best way to do it is
try storing it and rejecting the mail if that failed. Otherwise you
may end up in the following situation:

  - user has 100 kb free
  - message arrives of size 80 kb and is accepted
  - meanwhile, user moves a message of size 30 kb into the inbox via
  - now the MTA passes to the MDA to store the message.
  - over quote, unexpected message drop. boom.
  - you get fired.

> That clears things up a lot as to how Postfix handles the message
> delivery. Thanks, I learnt something today.

I've dealt with a bunch of MTAs and postfix is the one that does
most things "righter" than others. It's also an MTA where others try
to be everything. And it's damn good about *not* losing mail to the
point that it will *not* communicate to the peer that a mail has
been received until the MDA gave a successful return code. Then, it
closes the SMTP conversation accordingly.

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!
"the 'volatile' keyword
 is implemented syntactically
 but not semantically"
                          -- documentation of m$ visual c, around 1992

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

Reply to: