We are running an Zimbra system with ~10.000 Accounts.
Always some accounts are over quota.
Up to zimbra 4.5.x the lmtp process always rejected mails to over quota accounts with a 5.x.x error.
So it was up to postfix to generate a bounce to the sender.
This behavior changed in 5.x.x. The lmtp process rejected the mails with a 4.x.x (non permanent failure).
So these mails where hold in postfix deferred queue until ether the user
removed some mails from is account or the mail was bounced
to the sender after some days.
Since ZCS 5.0.6 you can configure the LMTP behavior with
zimbraLmtpPermanentFailureWhenOverQuota. The value of "TRUE" will issue a 5.x.x error while "FALSE"
will generate a 4.x.x. This new setting gives me to option to revert to the
former (ZCS 4.5.x) method to not accept mails for over quota
But I still see a problem here. We could end up in the follwing situation:
Lets assume that user email@example.com is over quota.
1. Mail to firstname.lastname@example.org is sent to the zimbra system from an external account
2. zimbras postfix will accept the mail, scan for virus and spam
3. postfix forwards the mail to the lmtp process
4. lmtp checks for over quota and returns the mail to postfix with 5.x.x error
5. postfix has to generate a bounce to the sender
6. the sender is forged....
And now the zimbra system is becoming a huge backscatter source...
What I am looking for, is a good way to tell postfix not even to accept mails for "over quota accounts".
In that case the bounce/DSN had to be generated by the remote mailserver.
I consider this to be important as backscatter is becoming more and more of a plague.
We had several threads in the zimbra forum from people searching for help against backscatter targeted to one of their users...
Is there a way to introduce some kind of over quota check inside smtpd_recipient_restrictions?