An Exchange alternative: Mercury Mail Transport System can be installed on your client

If you need an e-mail server for a small office, you might want to consider the Mercury Mail Transport System. In this Daily Drill Down, Paul Garceau explains the advantages and the setup of this e-mail server that can be set up on a client machine.

Are you running a small office where e-mail plays a vital role? If you do, and you’re looking for a low-cost alternative to Exchange Server, consider the Mercury Mail Transport System. In this Daily Drill Down, I review this mail server’s capabilities and show you how to set it up on your client machine. Yes, I said client. No hardware server is needed. And by the way, it also runs on NetWare.

About Mercury Mail
The Mercury Mail Transport System (also known as Mercury/32) was designed, built, and copyrighted by David Harris, the same programmer who designed Pegasus Mail. Mercury/32 is available via free download at the Pegasus Mail Web site.

Mercury/32 has a number of advantages for small-office users. It’s compliant with major Internet standards, such as:
  • RFC1652 & RFC821 (SMTP)
  • RFC1985 (dial-up client)
  • RFC2369 (helper URLs)
  • RFC822 (e-mail addressing and formatting rules)

It’s attractive because it has a small footprint. Taking up only 1.5 MB of disk space and approximately 2 to 3 MB of RAM, it uses very little system overhead. This makes it ideal for Windows users, especially those using Windows 9x/Me. As a server, Mercury/32 can run as a Windows Service under Windows NT using Microsoft’s Srvany utility. Srvany allows you to run any program as a service; it’s available in Microsoft’s Windows NT 4.0 Server Resource Kit. You can even use Mercury/32 to support multiple mail domains from a single server for both POP3 and SMTP. And, if you’re worried about SPAM or other insidious e-mail, the server provides killfile support.

Other advantages
The list of plusses for Mercury/32 is pretty long. A few more reasons you ought to consider it are that it:
  • Can sustain up to 8,000 mail messages per hour on suitably equipped systems.
  • Is compatible with Windows 9x, Me, NT4, and 2000 Professional.
  • Allows both peer-to-peer and traditional server/client configurations to run in parallel.
  • Includes full-time, end-to-end support for DSL or any permanent Internet connections for SMTP and/or POP3 transactions.
  • Includes dial-up networking capabilities in order to facilitate peer-to-peer-based LANs.
  • Supports most e-mail clients, including Microsoft Outlook and Qualcomm’s Eudora.
  • Provides a high level of security and local control of e-mail filtering by acting as an e-mail firewall.
  • Is capable of eliminating or placing in quarantine any Trojan virus such as "Melissa" or the "I Love You" virus variants.
  • Is capable of refusing and/or bouncing e-mail.
  • Provides a single LAN reference for all local e-mail clients (peer-to-peer or server) thereby reducing or eliminating e-mail-retrieval latency at the client or peer level.

This last advantage is especially important if you suddenly find that your ISP is no longer physically/geographically local to your desktop, i.e., it has moved or been forwarded to some other location in the physical world, thereby increasing the latency (an increased number of pings with increased ping time) of a typical e-mail transaction.

License and manuals
Mercury/32 is described as bookware. If you choose to buy the administrative manuals and other documentation for Mercury/32, you will be charged for the costs associated with publishing those manuals and some shipping and handling charges. By purchasing the manuals, you also purchase a level of support that is outlined at the Pegasus Mail Web site.

You can order manuals online. Take a moment to pay close attention to the licensing details, as they determine how David Harris is compensated for his work on this excellent product. The download and use of Mercury/32, thanks to David’s commitment, is always free.

Web-based support
There’s a wealth of information about Mercury/32 available via the Web. Two helpful newsgroups are comp.mail.pegasus-mail.misc and You can subscribe to the Mercury e-mail discussion list at

Installing Mercury/32
Basic installation and configuration of Mercury/32 is straightforward and well documented in the help files supplied in the self-extracting executable (m32-321c.exe), which you can download from the Pegasus Mail Web site.

Once you have downloaded the executable, place it in a temporary directory. Double-click m32-321c.exe to start the Mercury/32 setup program. Click New Installation unless you are updating an older version of Mercury/32, in which case you should click on the Install Update button. If this is a new installation, you will then be presented with a licensing agreement. After you accept the license, a new dialog box appears. Here, you determine which of the nine protocol modules (listed below) you wish to use.
  • MercuryS—SMTP Server
  • MercuryP—POP3 Server
  • MercuryD—POP3 Client
  • MercuryX—Task Scheduling
  • MercuryF—Finger Server
  • MercuryH—PH Query Server
  • MercuryW—Change Password Server
  • MercuryC—SMTP Relay Client
  • MercuryE—End-to-End SMTP Client

Initially, you are only given the first seven protocols from which to choose (see Figure A). Before setup has completed, however, you will be asked which of the other two modules you would like to use.

Figure A
Here, you will choose the Mercury/32 modules you’d like to install.

Platform considerations
Since I have a small home/office network that doesn’t have a server platform installed, I only needed to install a bare minimum of the protocol modules. Based on my network configuration, which consists of Windows NT 4.0 Workstation, a peer-to-peer LAN and a dial-up connection using a 56K modem, I installed modules MercuryS (SMTP Server), MercuryP (POP3 Server), and MercuryD (POP3 Client). Your network configuration will vary, and thus, your module selections will vary also. If you need help choosing your configuration, press Help Me To Choose. When you’re sure you have selected the correct modules, click OK, Continue Installation.

The next screen contains several options. This is where you tell Mercury/32 setup wizard how to communicate with the outside world (the world beyond your firewall) and which protocol module you want to use for your local SMTP client.

Client configuration
Figure B shows the initial SMTP Client Module setup. Note that there two modules to choose from, MercuryC (SMTP Client Relay Mailer Module) and MercuryE (Full SMTP Delivery Client).

Figure B
In this dialog box, you can choose an SMTP client module.

MercuryC is primarily used as a relay mailer and communicates with your remote SMTP server. This type of server uses the Internet standards outlined under RFC1652 & RFC821 (SMTP) and RFC1985 (dial-up client—ETRN command). MercuryC is the best SMTP client to use if you plan to access your ISP’s SMTP server(s) for any external or Internet mail addresses via a dial-up networking access number. Bear in mind, however, that you will need to contact your ISP for more information on their restrictions and requirements for accessing their SMTP server(s).

Note that you can completely opt out of the Mercury/32 SMTP client installation by choosing Exit Without Installing. This option allows you to choose any non-Mercury/32 SMTP client/server configuration you wish.

If you only plan to use an SMTP server behind your firewall, MercuryE is your best choice as it allows you to access an SMTP server behind and on the other side of your firewall. MercuryE is also your best choice for permanent Internet connections.

Figure C shows the Configuration Information dialog box for MercuryE. In this dialog box, you can assign a local SMTP server. Place a TCP/IP address in brackets in the box entitled This Machine’s Internet Domain Name. By doing so, you’re telling the Mercury/32 SMTP client that you want it to access a local machine. (I’m assuming you’ve assigned these addresses already when you were setting up your peer-to-peer or other network.)

Figure C
Configure your SMTP server by adding a TCP/IP address as a domain name.

SMTP relay controls
The following dialog box (Figure D), Mercury For Win32 Setup, asks you how you want to handle relaying when using the MercuryS (SMTP Server). There are three levels of relaying control (as noted in Figure D): Normal, Strict, and None.

Figure D
Here, you set a level of relay controls for your SMTP server.

Setting the option to Normal allows only the local users with valid local addresses to relay mail around the network(s) behind your firewall. This level is the simplest means of handling relaying and requires the least amount of maintenance and upkeep.

Using the Strict setting, even though it requires a higher level of maintenance, is best for large collections of networks and local addresses that might exist behind a specific firewall.

Choosing None disables SMTP relaying controls and vastly increases the likelihood that your network will be bombarded with Unsolicited Commercial E-mail (UCE). (I recommend that you use either the Normal or Strict relaying controls.) Click the button corresponding to the level you wish to install.

As with setting up an SMTP server, at this point you may select the option Exit Without Installing. One of the greatest advantages of Mercury/32 is that as an end user, you have this option to select at several intervals during the setup. This makes it easy to discontinue the setup whenever you see fit.

A Ready To Install window reviews the choices you have made and gives you the options of creating a program manager group, continuing, or exiting. When you’re ready, click Install Mercury/32.

Setting up your mail queue
Your next task is to define where you want your e-mail clients to place any e-mail that is to be processed by the Mercury Mail Transport System. The Mail Queue Location dialog box suggests a folder, which you can change if you wish, as shown in Figure E.

Figure E
This dialog box allows you to set up your mail queue.

Regardless of the type of network you are using—with the possible exception of NetWare NDS Mode or NetWare Bindery Mode—use the Universal Naming Convention (UNC) format. Only UNC allows all your peer-to-peer or non-peer-to-peer networks to access the appropriate directory/folder you wish to use for your mail queue. UNC follows this format: \\machinename\sharename\folder\file. Since not all machines will use the same drive letter mapping, you might run into trouble if you used DOS names. In addition, don’t use long filenames in this box. When you’re ready, click OK, Continue Installation.

Final setup
The setup wizard dialog box will now inform you that it has enough information to complete the setup process. Your choices will be summarized in the dialog box. If all your choices are correct, click Install Mercury/32. If you need to make changes, you’ll need to exit and start again. If this is the case, click Exit The Installation. If everything was correct and you clicked Install Mercury/32, another dialog box will pop up entitled Setup Completed. You can choose Exit To The Online Guide to read help files or simply Exit.

Updating the installation
If, at a later time, it becomes necessary for you to update your installation, you can do so by starting the setup as you normally would and selecting the Install Update option.

Final thoughts
The Mercury/32 Mail Transport System, created by David Harris, is an excellent mail transport system designed with both small and large network configurations in mind. Although Mercury/32 was designed to work with Pegasus Mail, it is also quite capable of working with just about any e-mail client available for the Win32 platforms, including Outlook and Eudora.
The authors and editors have taken care in preparation of the content contained herein but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.

Editor's Picks