If your current edition of Windows Server doesn't include SMTP/ POP3 mail, and you don't want to upgrade to another version of Windows Server, go through the hassle and cost of adding Microsoft Exchange or outsource your email, you may want to consider Mercury/32 mail server.
Created by David Harris, who is author of the Pegasus Mail email client, Mercury/32 provides basic SMTP and POP3 mail services on any 32-bit Windows system (a Server edition of Windows is not required). The program is free for non-commercial users, while commercial users can buy a license for the program. In addition, purchased versions can make use of a native Windows service version of the program, while the free version is a conventional GUI client app.
Mercury/32's functions can be automated from other applications through a .DLL included with the program, something I've done myself through VB.NET web applications.
The latest version of the program (version 4.72), released in July 2009, contains several new features:
IMAP direct-connect SSL support. Many mail-client developers asked for Mercury/32 to add support for an older, officially-deprecated way of connecting to IMAP servers via SSL over port 993. While Harris wasn't crazy about the idea, he decided it would be useful given the prevalence of the feature.
Short-term blacklisting suppression. The 4.5 edition of Mercury/32 introduced a feature that allowed the system to temporarily blacklist clients with too many incorrect or malformed connection attempts. This warded off the majority of dictionary password attacks — attempts to crack mail accounts by using common words as password submissions (one of the many reasons you never want to use a pure dictionary word as a password).
Size control exemptions. Like any intelligently-designed mail server, Mercury/32 can be configured to block attachments greater than a certain size. If you have users you trust who send attachments over the size limit, Mercury/32 now lets you grant that user an exemption. (Note that this will not affect firewall appliances and similar applications designed to reject attachments larger than a certain size. These things need to be configured separately.)
If you use Mercury/32, remember there's no 64-bit edition of the program (as the name implies). However, the current edition should run as-is on 64-bit servers without issues. Furthermore, Mercury/32 does not auto-update. Newer versions and patches are published regularly, but must be applied by hand. I ran an older version of the program for nearly a month before discovering that it had been updated. (The update process doesn't take more than a few minutes, so you are generally not going to risk major downtime by upgrading or patching.)