To do it right, I would recommend doing it as a virtualization farm.
The farm would have two nodes. You can even provision the space for other VMs running server software.
With just the two nodes, you could build your own private cloud complete with clustering and SDN (Software Defined Networking).
Here is a list of mail server applications.
The server would still need some sort of Internet connection, but the traffic could be secured with SSL/TLS or some other encryption protocol.
This is probably not something a newbie could do, but it would be very educational if done.
To do a basic mail server, all you need is Linux and sendmail.