I am running an email server using surgemail. Check out their website at http://www.surgemail.com .
This is an industrial-strength email server that is easy to configure. It runs on Windowx as well as Unix.
I tried for 6 months to get qmail (a free email server) to work right and was never successful. At that point I switched to Surgemail. Surgemail does support SPF.
You do need a static IP to run your own email server. My ISP is Cox Communications and they will provide a static IP with a commercial account, but it costs more than a residential account.
I hope this helps. As an aside, I wouldn't give you two cents for all of the "free" email server software.
I, on the other hand, am paid to administer a "free" email server (among other things), and would actually say that Exim is one of the best mail servers I've encountered, and it's "free".
I've encountered Exchange, Exim and Sendmail. Exchange may be point and click, but to be honest I wouldn't trust it as far as I can throw the PC it's installed on, mainly because although a "dummy" could configure it, they couldn't do it properly. I have no doubts that the professional Widows admins I know could do it properly, but that doesn't mean anyone could do it. Sendmail was very powerful, but awkward to configure, and exim actually has a human readable config file, (well for me anyway).
None of them are suitable for "dummies", because any reasonable mail server can be set up as an open relay: there are subsets of "open" which have legitimate reasons to be run, so mail servers probably souldn't be run by a dummy.
If you can't run a "free" mail server, you probably shouldn't be running a mail server, both for your good and that of the rest of the internet.