I have some problems choosing and configuring an MTA for my desktop system. Some tools like apt-listchanges or cron rely on local mail delivery and I think having local mail delivery available is a nice thing. On the other hand, there are tools like caff, which work best with an MTA which can deliver to remote domains.
Like most people, I don't handle my mail on my personal desktop machine but on a remote mail server and would like to send my outgoing mail through that host, as sending mail from a machine without a fixed IP and hostname doesn't work well for all recipients.
Up to now this can be easily done with dma and probably most other MTAs, but it gets more complicated once I let some of my friends use my computer and create an account for each of them. If I would just leave my regular smarthost + local delivery configuration in place, every user on the machine would have to share the same smarthost with the same authentication. Not nice!
A much nicer solution would be to let every system user specify their own smarthost and authentication and. msmtp does exactly that. Unfortunately it doesn't do local mail delivery, so messages from cron or apt-listchanges are just dropped. So this is not a nice option either.
I guess the heavier MTAs like Exim4 or Postfix can be configured to do that, but I really don't know how.