Slightly tangentially, the current approach defines a strict division of
responsibilities among the MTS, MTA, LDA and MUA, to a point where,
effective, none of them talk to each other. This doesn't make sense.
Currently MXes accept mail for their users with no way of knowing if that mail is desired or not (and thereby operate with horrible inefficiency), or of communicating that information back over the transport layer.
The definition of spam is subjective to the end user. One man's spam is
another man's ham. As a very simple example, frequently that definition
of "spam" includes mailing lists which that end user explicitly
subscribed to.