The biggest problem is not getting your application to send mail, but to get the mail into the inboxes of people and not spam. That is what you pay the big providers for. Email is broken in that way. I'd advise you to go for a paid service if you want your emails to reliably arrive.
Doing these "find your device with magic and do stuff" things can be a bit troublesome across networks. Some is possible to set up but sometimes it just doesn't work. It is the tradeoff between security and comfort.
I read a proposal for the ActivityPub spec for shared groups. It means that a group can essentially be hosted from two instances together. But AFAIK the proposal is not yet approved and it needs to be implemented in lemmy for it to work. Right now a community is gone if the instance is gone.
You can save and vote from any instance. That is the point of the fediverse. You can have an account on lemmy.ml and interact with communities on lemmy.world.
I did host my email, but the problem wasn't the spam but the bigger email providers. Best case was my mail was marked as spam. Worst case was that I was blocked until I jumped through hoops. Email hosting is unfortunately broken.
The biggest problem is not getting your application to send mail, but to get the mail into the inboxes of people and not spam. That is what you pay the big providers for. Email is broken in that way. I'd advise you to go for a paid service if you want your emails to reliably arrive.