Es gibt in Postfix aus gutem Grund seit der Version 2.10.0 eine Trennung zwischen den Relaying- und den Empfänger-Policies, wobei letztere typischerweise dafür genutzt werden, Anti-Spam-Maßnahmen und ähnliches umzusetzen.

Das große Problem an der Sache ist, dass die frühere Praxis, beide Policy-Arten zu kombinieren - eben nur smtpd_recipient_restrictions zu verwenden - leicht dazu führen kann, dass man Mails für dritte annimmt und weiterleitet, ohne das tun zu wollen - und schon ist man ein offenes Relay.

Das gleiche kann einem übrigens auch bei dem Quota Policy Service von Dovecot passieren. Deswegen ist es, einfach als Sicherheitsnetz, sinnvoll, die Antworten von OK zu DUNNO zu ändern:

1
2
3
4
5
6
# don't return "OK", if we should mess up relaying
plugin {
  quota_status_success   = DUNNO
  quota_status_nouser    = DUNNO
  quota_status_overquota = "552 5.2.2 Mailbox is full"
}

Wie man sieht ändere ich den Code für “Mailbox voll” hier auch gleich auf 552, was ein permanenter Fehler ist. Der Log-Spam der Retries war mir einfach zu viel (und ja, ich hab einige User die nicht haushalten können).