Saturday, December 11, 2010

Mercury Mail Transport System

Being a big fan of “Mercury” email server (actual name “Mercury Mail Transport System”) for many years, I always want to do something in return to help this wonderful developer – David Harris. And I believe an article of his “baby” could mean more to him than a “thank you” and donation.

What I love Mercury most is that, it is a full function Windows-based email system and a “freeware” (to be more exact, a “donationware”). For those who have limited background with non-Windows platform such as Linux and Microsoft Exchange too big an investment, such an option is surely a good news!

You will be happy with the Windows user interface, grouped according to modules. A fresh install with setup is not difficult. In fact, I can setup a full functioning “Mercury” email system in just five minutes.

Mainstream email protocols like POP, IMAP, SMTP, etc. are all supported. You can also plug-in filters for spam mails as well as viruses. Advanced users can also set rules and mail forwards. For example,  you can set a common mailbox to forward copies of received emails to other mailboxes of individual users.

A watchdog program is running if you “load” the email system, instead of directly “run” the main execute. This provides an additional layer of protection against the main program crash. If the watchdog detects a program crash, it tempts to reload the program again to ensure a “always-on” email service.

If you're the IT support, you will love to see the message stores of Mercury is not difficult to follow and troubleshoot.  All emails are stored in folders, one folder for one user. One email is one file – a file-based message storing system. For those who hates Microsoft Exchange blackbox-like message store databases, you'll love Mercury's transparency.

·         Windows-based, with familiar user interface
·         Donationware, budget amount is up to you, even free of charge
·         Advanced functions in rule processing, filtering of spams and viruses
·         Easy to troubleshoot problems

·         No web mail support
·         IMAP functionality limited
·         Run as a true Windows service is still under development
·         Unlike Microsoft Exchange, not integrated to your Windows domain; adding or removing accounts need to be done separately

Hosting email externally? Or, locally?

As far as hosting is concerned, there are two approaches to implement an email system – 1) Hosting Internally – your email server talks directly to all other email servers, or 2) Hosting Externally – your hosting company and ISP serves as email agents, and your email server talk to these agents

Scenario 1
For smaller budget and minimum effort to maintain and support, approach #2 is my choice because it added another layer of protection. Usually hosting companies and ISPs have better backup and contingency equipment and plans. Their Internet connection will be more stable. With approach #1, you must have very reliable and stable routing, networking devices, redundant powers and redundant broadband connections to failover. Another concern is network attack from competitors or others.

Approach #1:
                [Internet World] <------> [Your Email Server]

Approach #2:
                [Internet World] <====> [Email Hosting Server] <------> [Your Email Server]

Usually, the weak path is <------>. Consider what the situation will be like in Approach #1, any service down such as Internet connection or router could mean emails to you bounce back to senders, which could severely damage your corporate image!

In Approach #2,  senders will not notice any difference. And you can check emails by web mail directly to the email hosting server.

                [Internet World] <====> [Email Hosting Server] <--- X ---> [Your Email Server]

If I host my email externally, why I need a local email server?

For good reasons, hosting has limitation on space and / or data flow. Besides, it would be difficult to  make backups for your emails. In terms of management, it will not be as flexible and convenient as having your own local email server.

Scenario 2
For sufficient funding and manpower to maintain and support, approach #1 is the most direct and efficient way in delivering emails. No duplicate set of accounts to be managed. Sometimes, you  may not want users to check emails outside of the office.

How to setup your email server using Mercury Mail Transport System?

A) Software Installation

1)      Download Mercury Mail Transport System from the author's website, http://www.pmail.com/downloads_s3_t.htm
2)      Run the installation execute, press “Setup” button to start.
3)      Press “New Installation” for a fresh install
4)      Press “No NetWare Support” if you don't have a Novell NetWare environment
5)      Mercury asks you the installation directory. This is a VERY IMPORTANT question, think carefully as you will not be able to change afterward. My choice, e.g. D:\MERCURY . I do not recommend the default C:\MERCURY as the installation directory as it will result in the system drive fragmented  seriously and usually my C: is relatively smaller size and not easy to increase space.
6)      When you have made up your mind about the installation directory, press “OK, accept this directory” button
7)      The next question is about Pegasus mail, an email client software by the same author. I will choose “No Pegasus Mail integration” as I do not use it.
8)      Now, Mercury asks you the mailbox directory. Accept the default “D:\MERCURY\mail”, unless you want to put user mailboxes to another place. Press “Ok...”
9)      Select the protocol modules you want to start. It's fine if you make it wrong, because you always can change these settings after installation. Usually, I will check “MercuryS”, “MercuryP” and “MercuryD” protocols to get them started after installation
10)  Press “OK, continue installation” to proceed
11)  Mercury asks you to select between two different SMTP modes. Please read the instructions. If you're using approach #1 as stated above, MercuryE (2) should be your choice. For approach #2, MercuryC is good enough. If you plan your email server handles no SMTP function, e.g. all your clients will use the ISP provided SMTP directly, you can also choose “Install no SMTP client”. Usually it is no harm to install SMTP client module even if you're not going to use it
12)  Now comes the basic configuration. In “This machine's Internet domain name”, type the email domain that your email server is handling, e.g. “company_xyz.com”
13)  Username for postmaster, keep the default “admin
14)  Address of host via which to send mail, input the SMTP server that you're using. Usually your ISP should provide, e.g. smtp.yourisp.com
15)  Press “OK, continue installation”
16)  Select between three types of SMTP modes. This is a protection mechanism that protects your email server from being abused by spammers and worms, etc. Usually, “Normal” should be good enough
17)  In mail queue location, provide the folder for the messages to queue for processing. I'm happy with the default “D:\MERCURY\QUEUE”
18)  Press “OK, continue installation”
19)  Press “Install Mercury/32” to complete the installation
20)  After copying files, Mercury asks you to “Create service” or “Continue”. Press “Create service” will make Mercury load as a service, which means once your computer start up it will be loaded as a service. Otherwise, you can press “Continue” to let you to start the program by yourself
21)  Mercury lists some add-ins for you to install; these are all optional. Read their functions and install where you feel necessary
22)  Press “Done” and then “Exit”

Congratulations, done!!

B) Post-installation Configuration

Start your mercury and configure the followings.

1)      Go to “Configuration”, “Mercury core module”, “General” tab. You may want to set the time zone to your own time zone.
2)      Change to “Advanced” tab. Check the option “Allow file-based forwarding...” so that email forwarding is allowed.
3)      From the menu select “Configuration”, “Manage local users”. Add users to your email domain. For example, create a user with username=john, personal name=john, mail password=****** (provide the actual password). Leave the other fields as default value
4)      If you have an external email hosting (approach #2), you will also need to configure mail fetching. From the menu select “Configuration”, “MercuryD POP3 Client”. Press “Add” to start adding fetching rules. You need to provide the POP server name, username and password and the local user that you'll store the fetched emails.

There is a user community that many of your questions are already answered, check this out:

No comments:

Post a Comment