hMailServer is a free e-mail server for Microsoft Windows. It’s used by Internet service providers, companies, governments, schools and enthusiasts in all parts of the world. It supports the common e-mail protocols (IMAP, SMTP and POP3) and can easily be integrated with many existing web mail systems. It has flexible score-based spam protection and can attach to your virus scanner to scan all incoming and outgoing email.

hMailServer System Requirements:

You can find detailed system requirement at hMailServer System requirements.

Database Server

hMailServer supports five different database engines. You can find more information at hMailServer database engines. We will use MySQL server here as a database for hMailServer. To install MySQL Server please follow step by step instructions given at Install MySQL on Windows

Download hMailServer

You can download hMailServer from this link. At the time of writing this article production release hMailServer 5.3.3 – Build 1879 is available. hMailServer 5.3.3 is not an Open Source application. However future release of hMailServer 5.4 – 1931 will be again Open Source which is still in beta phase.

Install hMailServer

  • Install MySQL step by step instructions given at Install MySQL on Windows.
  • Execute downloaded hMailServer setup file by double clicking it which will launch hMailServer setup wizard as shown below. Click “Next” button.

Install hMailServer Step - 1

  •  Select “I accept the agreement” and click “Next” button.

Install hMailServer Step - 2

  • Select the path where you would like to install hMailServer. I always prefer installing hMailServer on the partition other than containing Operating System. Click “Next” button.

Install hMailServer Step - 3

  •  Select “Full Installation” from the drop down box and click “Next” button.

Install hMailServer Step - 4

  • If you want to built-in database engine (Microsoft SQL Compact) then select first radio button. In our case we are going to use MySQL so we will select second radio button and then click “Next” button.

Install hMailServer Step - 5

  • Select “Don’t create a Start Menu folder” if you don’t wish to create Start Menu folder. You can also modify start menu folder name. We will leave this as it is and then click “Next” button.

Install hMailServer Step - 6

  •  Click “Install” button to proceed the installation.

Install hMailServer Step - 7


Install hMailServer Step - 8

  • After copying files the hMailServer Database setup wizard will be launched as shown below. Simply click “Next” button.

 Install hMailServer database setup wizard step - 1

  •  Select “Create a new hMailServer database” and click “Next” button.

Install hMailServer database setup wizard step - 2

  •  Since we are going to use MySQL as a database engine for hMailServer, select “MySQL” otherwise select as appropriate if you wish to use other database engine. Click “Next” button to move on.

Install hMailServer database setup wizard step - 3

  •  Enter database server connection information
    • Database server address : Enter IP address or Computer Name where MySQL server is running. If it’s on same machine then you can use “localhost” except quotes. If MySQL server is installed on remote machine then make sure that you can connect to MySQL server from the machine where hMailServer is installed.
    • Port : Enter the TCP port on which MySQL server is listening on. MySQL by default listens on TCP port 3306.  Enter the port number if your MySQL server listening on any other TCP port.
    • Database name : Enter the name of database which will be created on your MySQL server for storing hMailServer details.
    • Authentication
      • Username : Enter MySQL server username.
      • Password : Enter password for MySQL user specified in previous step.
    • Click “Next” button.

Install hMailServer database setup wizard step - 4

  • hMailServer runs as a Windows Service. Here you can specify the service name on which hMailServer will depend. Select “MySQL (MySQL)” from the drop down so that Windows will ensure that the database service is running before hMailServer is started. Click “Next” button.

Install hMailServer database setup wizard step - 5

  • Before moving on copy libmysql.dll from “MySQL\MySQL Server 5.5\lib” folder to “hmailserver\bin” folder. libmysql.dll is not included in hMailServer installation. This is because hMailServer 5.3.3 is not Open Source while MySQL is Open Source. Now click “Next” button.

Install hMailServer database setup wizard step - 6

  •  As shown below a fresh hMailServer database will be created and server will be restarted. Click “Next” button and then click “Close” button.

Install hMailServer database setup wizard step - 7

Install hMailServer database setup wizard step - 8

  • Enter password for hMailServer user with administration rights. The username will be Administrator and the password will be as specified below. Please remember this password.

Install hMailServer Step - 9

  •  Click “Finish” button and Run hMailServer Administrator.

Install hMailServer Step - 10

  •  Enter the hMailServer Administrator password we created recently. Then click “OK” button.

Install hMailServer Step - 11

  • If you are viewing below screen on your machine, then congratulations you have successfully installed hMailServer on your machine.

Install hMailServer Step - 12

As with every email server application the installation part is very straight forward, however the implementation phase is critical one. In next few articles we will configure hMailServer for the role intermediate email distribution. We will also discuss how we can make hMailServer a live email server.

Related Posts

5 thoughts on “Install hMailServer

  1. Hi there,

    I have been using hMailServer for a few months. Its good to learn to setup something like this. I found it while looking for solutions to keep a backup copy of email from a pop server. 

    It happens 3 weeks ago where the hMailServer stop receiving new emails from my pop server. And the strange thing is the mailbox in the hMailServer is still growing. I checked on each mailbox and found out that the mails inside is duplicating. I had no idea how it happen and what went wrong. I tried fixing the sql table after a few search on the net but its no good. 

    Hope i can get better ideas to fix this before I need to reinstall the hMailServer. Anyone here can guide me? Please and thank you.

  2. Thank you for the wonderful elaboration of the hMailServer installation.
    I have a questions regarding using scripts in hMailServer. Is there a way to get the value configured in the “Forward” tab f an email account inside a script. we have a requirement to send receipt back to another email address once a email is received for a particular email address.

  3. What can I say – its free, it works, the developers on the project respond very very quickly on the bulletin board.

    I really like the IMAP features and the ability to download POP3
    email from other servers and send it to an account on my server.

    1. This is the power of open source and online volunteers communities.
      Yes, exactly “external accounts” is such a powerful feature of hMailServer along with SMTP relayer which makes it to act as Email distribution server.

Leave a Reply