Bernhard Schmidt <[email protected]> wrote: Hi,
> Axel Luttgens <[email protected]> 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 >>> <[email protected]> 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 '^]'. >> [email protected] >> 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:<[email protected]> <- 250 2.1.0 OK -> RCPT TO:<[email protected]> <- 250 2.1.5 OK -> DATA <- 354 OK -> Date: Thu, 29 Jan 2015 13:35:51 +0100 -> To: [email protected] -> From: [email protected] -> 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 <[email protected]> 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:<[email protected]> <- 250 2.1.0 OK -> RCPT TO:<[email protected]> <** 552 5.2.2 <[email protected]> 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
