Im Grunde genommen hängt es davon ab ob ich den Absender wissen lassen möchte, dass ich seine Mail nicht gelesen habe - oder nicht.
Beispiel:
es gibt Anwendungsfälle in denen eingehende Mails nicht gelesen oder verarbeitet werden können, einfach weil die Menge eingehender Mails viel zu groß ist. Das könnten zum Beispiel belanglose Status- oder Notification E-Mails sein. Ein anderes Beispiel
dürfte etwa Google sein. Dort wurden bis zum verlinkten Gerichtsurteil einfach alle Mails weggeworfen. Ein weiteres Beispiel könnte ein System oder eine Produktionsanlage sein, die automatisch Mails generiert. Wenn ich in diesen beiden Beispielen die E-Mails mit SMTP 5xx rejecten würde, hätte das zwei Konsequenzen:
1. Der Absender würde wissen, dass ich seine E-Mail nicht bekommen habe - das möchte ich vielleicht nicht.
2. Beim Absender würden Non-Delivery Reports generiert. Bei automatisierten Systemen kann das zu Problemen führen. Annehmen und verwerfen ist eleganter.
Es gibt noch ein weiteres Beispiel:
Man bekommt legitime E-Mails von Webseiten auf denen man registriert ist (Amazon, Facebook, Onlineshops, etc.). Einige von diesen E-Mails will man aber gar nicht haben. Leider kann man sie für den Einzelfall Fall nicht abbestellen. Man baut sich also schnell eine Regel auf dem Mailgateway. Aber: wenn man nun anfängt mit SMTP 5xx zu rejecten, ändert sich unter Umständen der Status des eigenen Kontos auf der Webseite, weil man scheinbar nicht mehr per E-Mail erreichbar ist "bitte verifizieren sie ihr Konto, blabla" Annehmen und verwerfen ist auch in so einem Fall eine gute Sache. Hier ein Beispiel von meinem privaten Mailgateway, wo ich nicht genervt werden will, aber die Mails dennoch annehmen möchte:
Regelname: Steam Marketplace
Condition: Message header "subject" equals "you have sold an item on the community market"
Disposition: discard message
Gleichzeitig möchte ich aber Spam E-Mails gar nicht annehmen, sondern direkt per SMTP 5xx rejecten. Am besten kann ich in der Reject Regel auch definieren, mit welchem SMTP return Code ich antworte. Spammern sage ich z.B. gerne "550 5.1.1 User Unknown" in der Erwartung dass der Spammer irgendwann begreift, dass die Zieladresse nicht mehr existiert, und es keinen Sinn macht dort weiter Mails hinzuschicken.
Das sind jetzt nur Beispiele die mir spontan eingefallen sind. Es gibt in geschäftlichen Umgebungen noch viel mehr Gründe, gleichzeitig rejecten und discarden zu können.