I don’t see anything wrong with self-hosting the receiving part. Especially with something like mailcow it shouldn’t be any more difficult than hosting anything else, provided you have backups in place and will be able to get the server up and running again within 24 hours to not lose any emails. Yes, spam may be an issue, but mailcow has useful defaults configured and it works okay-ish for me.
Btw, they also allow for configuring outbound relays quite easily. This allows for simpler configuration on the client-side. I have it set up so that all emails sent through mailcow will be forwarded to mailgun, for example.
I don’t see anything wrong with self-hosting the receiving part. Especially with something like mailcow it shouldn’t be any more difficult than hosting anything else, provided you have backups in place and will be able to get the server up and running again within 24 hours to not lose any emails. Yes, spam may be an issue, but mailcow has useful defaults configured and it works okay-ish for me.
Btw, they also allow for configuring outbound relays quite easily. This allows for simpler configuration on the client-side. I have it set up so that all emails sent through mailcow will be forwarded to mailgun, for example.