Mailserver can be really complicated. So dividing the complex issues one by one!
I recommended making a mailserver from scratch. It should essentially add the component of domain confirmation to XMPP messaging:
1. User password authentication with frontend
2. Domain name belongs to host authentication
3. Fetching messages (decoding and encoding in smtp, imap, pop3 formats)
4. Storing at appropriate locations.
5. Sanitizing malicious mail. (Guess one can use spamassasin here)
6.. (Optional) For too many users (big services), additional step of finding user exists on which server (say with multiple hosts).
The above steps are for complete mail (not just MTA or MUA or whatever). I don't see how such a complete service can be as complex as we have now. Maybe because email services are the oldest, they're still using C and are being coded in a very complex way.
Law is a much wider and general thing than copyleft which is enforced by copyright under law. If we correct law clauses to ensure that evil are separated away from group and penalized and the righteous get support and increase in number atleast till critical mass, we'll have corrected the issues.
Let us adopt systems which allow us as well as others maximum freedom.