Depending on what distro you are using, you might want to checkout
http://www.qmailrocks.org/ . It is for setting up a qmail server, but there are step by step instructions for doing it.
No, you do not need you own DNS server to run an email server. Just make sure that you have a valid DNS server listed in your /etc/resolv.conf file.