Bernhard Schmidt <berni@birkenwald.de> wrote:
Hi,
Axel Luttgens <AxelLuttgens@swing.be> wrote:
Hi Axel,
Le 11 févr. 2014 à 08:34, Bernhard Schmidt a écrit :
[...] so Dovecot should reject in RCPT TO phase, but according to the logs of the upstream Postfix it does so after END-OF-DATA
(host xxx[2001:xxx] said: 452 4.2.2 <user@domain.de> Quota exceeded (mailbox for user is full) (in reply to end of DATA command)) [...]
Hello Bernhard,
Could you exercise your quota-status service with variations of:
# telnet xxx 12340 Trying xxx... Connected to xxx. Escape character is '^]'. recipient=john.doe@example.com size=1000000
action=OK
^]
and see whether the replies are the expected one?
If yes, this would point to some error in Postfix' configuration.
If not, well... could be you are facing the same kind of problem I'm having here (never managed to have the service reply anything else than "OK" or "REJECT Unknown user"...)
quota-status works absolutely fine, our frontend MXes defer mails for mailboxes over quota. But when we try to send a mail to the mailbox nevertheless through LMTP (i.e. because it was generated on a server that doesn't check quota-status), it is deferred in LMTP in the END-OF-DATA phase, not in RCPT TO as expected.
To follow up here:
Dovecot 2.2.13 (from Debian testing compiled on wheezy) is still showing the same behaviour as 2.2.9. lmtp_rcpt_check_quota is apparently ignored, the over-quota defer happens after the DATA phase.
# 2.2.13: /etc/dovecot/dovecot.conf # OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.8 [...] lmtp_rcpt_check_quota = yes quota_full_tempfail = yes protocol lmtp { mail_plugins = quota sieve }
-> MAIL FROM:<sender@domain.de> <- 250 2.1.0 OK -> RCPT TO:<recipient@domain.de> <- 250 2.1.5 OK -> DATA <- 354 OK -> Date: Thu, 29 Jan 2015 13:35:51 +0100 -> To: recipient@domain.de -> From: sender@domain.de -> Subject: test Thu, 29 Jan 2015 13:35:51 +0100 -> X-Mailer: swaks v20120320.0 jetmore.org/john/code/swaks/ -> -> This is a test mailing -> -> . <** 452 4.2.2 <recipient@domain.de> Quota exceeded (mailbox for user is full)
With 2.2.15 from dovecot-ee it is different. The quota is now checked at RCPT stage
# 2.2.15.8 (912dd04d7a14+): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.6 (4b9b9a88ac9b) # OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.8
-> MAIL FROM:<sender@domain.de> <- 250 2.1.0 OK -> RCPT TO:<recipient@domain.de> <** 552 5.2.2 <recipient@domain.de> Quota exceeded (mailbox for user is full)
But as you can see, the setting for quota_full_tempfail is now ignored. It should be deferring the message, not rejecting it. When I disable lmtp_rcpt_check_quota it behaves like 2.2.13.
Summary:
- In 2.2.9 and 2.2.13 lmtp_rcpt_check_quota is ignored
- In 2.2.15 lmtp_rcpt_check_quota works, but quota_full_tempfail is ignored at the RCPT TO stage. It still works at the DATA stage, so disabling lmtp_rcpt_check_quota is a workaround falling back to 2.2.13 behaviour
Bernhard