A program which mimicks an email server and implements the SMTP protocol (as defined in RFC 5321). As well this program implements the POP3 protocol (as defined by RFC 1939). Furthermore, this program highlights the use of the State design pattern to improve efficiency, scalability and readability.