On Tuesday 2005-August-16 01:16, Jeroen Scheerder wrote:
I also run Dovecot on a box with filesystem quotas, but just like Alan Premselaar, I also use Maildir. When people have hit their quota, there's been no evidence of lost mail, as Postfix simply refuses the message.
This is a non sequitur. Mail storage is more than just the inbox.
Postfix does honour its "mailbox_size_limit", true. But there's more to store than just a single mailbox, of which the maximum size can be set to enforce quota, in some or other way.
Or am I misunderstanding, and does Postfix (or procmail, which is typically used as Postfix' local delivery agent) have explicit quota handling that I've been overlooking?
First, one thing you are wrong about is that Postfix typically does not use procmail. Postfix includes its own LDA, local(8). Distributors can do what they will, and they might set it up to use procmail, but if you install Postfix from source, the default LDA is local(8).
Perhaps you mean to say that a write error occurs upon hitting hard quota, or upon exceeding the grace period after a soft quotum has been surpassed, and that the local delivery agent seems to handle this gracefully.
I don't use quota, but here's my understanding of the sequence:
- Mail arrives for valid user "packrat", who happens to be over quota.
- Postfix accepts and queues the mail (as user "postfix".)
- Postfix passes to MDA/LDA. That write would be as user "packrat", who, per above, is over quota. FS write fails.
- Postfix generates a bounce for the envelope sender.
If "packrat" is not quite to the quota, say, 1MB below it, and gets a 2MB mail, that would bounce. But a later 2KB mail would be delivered, and so on, until the quota is reached.
That may be true. However, I think this fact alone, although it lets one sleep better, is not sufficient. Dovecot especially may require even more storage after delivery. Furthermore, mail delivery isn't
Index and subscription files, yes.
mail to this address is discarded unless "/dev/rob0"
or "not-spam" is in Subject: header