Incoming mail is very doable.
Outgoing mail is hard because no one will your trust your server, the easy way is let someone else send your mail.
People get stressed about your receiving server being down sometimes, but this actually not a big deal. Mail senders typically will try for 48 hours or so to deliver mail, and if it doesn't get delivered it will be sent back to the sender with a "could not be delivered" message. Very little gets actually lost.