Running a mail server which receives mail is easy. Getting your e-mails delivered can be more difficult. But so far (I have been running a personal e-mail server since 2007), I have gotten most of my e-mails delivered.
It's pretty much out of your control. If the server you rented has a tainted IP reputation, you're done for. Instead of cycling through to get the good IP, which isn't too easy to tell, you should just use a proxy service.
If you're on a small scale, those 2 services I mentioned aren't going to cost you much (free and maybe about 5 cents a month.)
I even proxy my hobby personal domain server because I don't want my personal mails get buried in people's junk folder.
If you are alright with running a single piece app that provides webmail, SMTP, POP, and REST, you might be interested in my project: http://www.inbucket.org/
It's really targeted for intranet use though, I wouldn't recommend exposing anything other than the SMTP port to the internet.
I'm fine with writing code to call APIs from email providers to manage email addresses though.