Sendmail, Postfix, Courier, and Exim can all do it, but they do, by default, assume a single domain that the computer represents. I would not recommend Sendmail to a newbie, but Postfix and Exim should be do-able. Their default configuration will give all unix accounts on your server an email based on the account username. 20 users is no problem at all. Note that most of these are MTAs only which means they will accept and store mail locally for domains they control, but do not provide a way for users to retrieve the mail off of the server. Unless you plan to have all users log on to the server to retrieve their mail, you will also need a POP3 or IMAP server. Dovecot is what I recommend for that. It works in conjunction with an MTA like Postfix. Users send mail to others through the MTA and retrieve mail through POP3 or IMAP. The main difference between POP3 and IMAP is with IMAP, mail is still kept on the server in addition to locally on a users email program, and IMAP also stores other folders on the server as well. This allows a user to switch mail programs and still have all their mail and folders with IMAP. It also facilitates for a sysadmin to backup all the email for a domain on the server. With POP3, mail is retrieved from an Inbox and deleted off of the server.