Just as a heads up, running your own email server is rife with pitfalls. Even if you set everything up perfectly (which is unlikely for a first timer), you will still run into issues with your mail not being delivered because the big email providers will assume your stuff is spam.
There are guides for doing that, but it really isn't worth the hassle.
Also, getting a domain name and using dynamic DNS has worked fine for me for years, and I've had no reason to pay extra for a static IP.