Ok... the file /etc/hosts has the localhost entry. Here you can relate host names (or domain names) to IP addresses. One IP address can have more than one "name". You can add other IP addresses to this file. Lets say a friend has the IP XX.XXX.XX.XXX. And you connect to him quite often, so you just could add an entry "friend" and you wouldnt have to write: ssh XX.XXX.XX.XXX, you could write ssh friend
DNS names are "normal" names for us to remember, instead of using IP addresses. When you type
www.debian.org, your system looks for this entry in your /etc/hosts file, and if not there, than requests it to a DNS server. Your machine gets the IP address the corresponds to
www.debian.org. Of course you could put
www.debian.org in your hosts file, but that would make much sense. Of course this is oversimplified. I would recommend you reading a couple of Linux Howtos on the subject, or google a bit.
About the mail, most unix systems come with a MTA, mail transfer agent, like exim, qmail, etc.. you can use this MTA to send email internally in your sistem, or if set up correctly also to send and receive mail in the internet. In many linux systems the system "sends" mail to root with system information. Many other programs send security info to root, webmaster gets email over apache info, etc... Try using pine or mutt (console email programs) to read the mail. Then google a bit and try setting up and configuring an MTA of your own. You can do really cool things!