Здравствуйте!
Столкнулся со следующей проблемой. Есть 2 почтовых сервера postfix 2.11.3 + dovecot 2.2.15 (mail1.dom1.lan1 и mail2.dom2.lan2). Настроена пересылка почты между ними. На обоих серверах для почтовых ящиков настроена индивидуальная квота (mysql).
Все прекрасно работает до тех пор, пока какой-нибудь ящик не достигнет квоты. И тогда при попытке доставки письма в такой ящик, письмо до получателя не доходит, а отлуп для отправителя помещается в очередь.
Например, user1@dom1.lan1 отправляет письмо пользователю user2@dom2.lan2, у которого достигнут предел квоты.
На сервере mail2.dom2.lan2 в логе остается запись:
Dec 3 14:56:49 mail2 postfix/smtpd[3947]: NOQUEUE: reject: RCPT from mail1[ip1.ip1.ip1.ip1]: 452 4.7.1 <user2@dom2.lan2>: Recipient address rejected: Mailbox is over quota; from=<user1@dom1.lan1> to=<user2@dom2.lan2> proto=ESMTP helo=<mail1.dom1.lan1>
На сервере mail1.dom1.lan1 в логе остается запись:
Dec 3 14:56:49 mail1 postfix/qmgr[4245]: 1F35175912: from=<user1@dom1.lan1>, size=3097, nrcpt=1 (queue active)
Dec 3 14:56:49 mail1 postfix/smtp[4343]: 1F35175912: to=<user2@dom2.lan2>, relay=mail2.dom2.lan2[ip2.ip2.ip2.ip2]:25, delay=953, de
lays=952/0.08/0.05/0.06, dsn=4.7.1, status=deferred (host mail2.dom2.lan2[ip2.ip2.ip2.ip2] said: 452 4.7.1 <user2@dom2.lan2>: Recip
ient address rejected: Mailbox is over quota (in reply to RCPT TO command))
smtpd_recipient_restrictions = check_recipient_access mysql:/usr/local/etc/postfix/quotas.cf
hosts = localhost
user = name
password = secret
dbname = databasename
query = SELECT '452 Mailbox is over quota' FROM mailbox, quota2 WHERE (mailbox.username = '%s') AND (quota2.username = '%s') AND (quota2.bytes >= mailbox.quota) AND (mailbox.quota > 0)