Postfix (oder OpenSMTPD), Dovecot, OpenDKIM, SPF is mal die Basis.
Ich würde SpamAssassin gegen Spam nehmen, aber das liegt einfach daran, dass ich es gut kenne. Postgrey (Graylisting) hat gut geholfen, aber ehrlich gesagt ist der meiste Spam, den ich bekomme mittlerweile von echten Mailservern (inklusive korrektes SPF, DKIM, ...).
Fail2Ban schadet (wahrscheinlich) nicht, aber so einen Unterschied macht es auch nicht. Ist irgendwie ein Tauschen von Ressourcen und man könnte (ist aber auch ziemlich theoretisch) argumentieren, dass man Komplexität und damit einen Angriffsvektor erschafft. Es ist halt so, dass Spammer auch schon gut damit arbeiten können bzw. auch mal schnell sehen, dass sie nicht weiterkommen. Es gibt auch noch die Spammer, die einfach draufhauen und damit kann man das sicherlich etwas bremsen. Möchte da auch sshguard erwähnen, was ebenfalls viele Protokolle bzw. Logfiles und braucht weniger Ressourcen.
Das Wichtigste ist meines Erachtens Postfix gut und strikt zu konfigurieren und einfach zu wissen, was man tut. Da sollte man sich mal Zeit nehmen und dafür dann nicht ständig rumbasteln zu müssen, wenn man ein Problem bemerkt. Es ist meines Erachtens deutlich einfacher und besser das alles auf einmal im Zusammenhang zu lernen, weil SMTP jetzt nicht ist, wo man so viel wie bei manch anderen Dingen rumbastelt. Das ist dann nur TLS-Config updaten (altes Version, alte Ciphers, etc. raus) oder wenn was neueres kommt das dazu schalten (DKIM, DMARC, ...).
Auch wenn ich's toll finde, dass es so Fertig-Dinge gibt, die das Aufsetzen erleichtern würde ich dringend dazu raten die Dinge zu verstehen und das deshalb zunächst mal selbst aufzusetzen. Das erspart so viel Ärger. Ich bin ein starker Unterstützer von eigenen Mailservern, aber man muss sich mal damit beschäftigen, damit man keinen Stuss macht oder redet. Wenn Leute zum Beispiel Anti-Spam-Maßnahmen machen, unter denen andere Leute in unterschiedlichster Form leiden oder ähnliches ist das echt schlimm. Oder eben umgekehrt, wenn Spam geschleudert wird.
Postfix und Dovetcot (und Spamassassin) sind sehr groß. Damit kann man sich viel beschäftigen. Das macht auch Spaß, wenn man sich da Zeit nimmt, bevor das wirklich produktiv wird. Also einfach nehmen. Und offizielle Dokus lesen, möglichst nicht abseits Tutorials lesen. Da liest man potentiell out of date Sachen, oder Dinge die falsch sind bzw. kontraproduktiv.
Kurzum: Dovecot und ein guter SMTP-Server, so wie Spamassassin, so wie konfiguriertes DKIM und SPF und vielleicht sowas in der Art procmail und getmail/fetchmail/... sind finde ich ein sinnvoller Start. Würde zumindest diese Dinge von Anfang an machen, damit man keine Probleme bekommt.