Building intra-net email server (hMailServer)

I am back again after a long break with my favorite topic i.e. email communications. I am writing this article on request of one of my blog friend Mr. Oladapo Makanjuola, who recently wanted to implement an intranet email server. He tried other articles on my blog but somehow failed to configure the hMailServer. He contacted me through the Contact Me page. After long conversation through email and whatsapp we ultimately succeeded to setup the intranet email server. He asked me to write a simple step by step guide without involving deeper technical information and hence here I go…. Enjoy 🙂

Install hMailServer

Download hMailServer If you want to use in-built database engine (Microsoft SQL Compact) then the installation is very straight forward just follow the installation wizard keeping everything at their defaults. But if you want to use external database engine (MSSQL, MySQL, PostgreSQL) then follow the installation guide at Install hMailServer. This installation guide discusses installation of hMailServer using MySQL as external database engine.

Create a mail domain

  1. Launch hMailServer Administrator.
  2. Go to “Domains”
  3. Click “Add” button
  4. Enter Domain name under General tab e.g. example.com
  5. Click “Save” button to create and save the domain. Right now no need to look at other options available at domain level. To know more about all domain options available in hMailServer visit hMailServer Domain.
  6. Once the domain is created you will see a new tree node (e.g. example.com) created under “Domains”.

Create email accounts

  1. Launch hMailServer Administrator.
  2. Go to “Domains”
  3. Expand the domain (e.g. example.com) and then click on “Accounts” under that node.
  4. Click “Add” button
  5. Enter Address e.g. info
  6. Enter Password
  7. At this moment keep everything else to its default. However if you want to know more details about other options available visit hMailServer email account.
  8. Click “Save” button to create and save the email account.
  9. Repeat step 4 – 8 for each email account you want to host in hMailServer. Create at least two email account so that we can configure them on two different devices and check email communication.

Firewall Settings on hMailServer

If Windows/Antivirus firewall is enabled on hMailServer machine then either disable it or create firewall exceptions to allow traffic on TCP ports POP3 (110), SMTP (25), IMAP (143).

Why to compromise with security by disabling the firwall? Disabling firewall is advised in test environment only. For production setup I do not recommend it. Let us configure firewall exception rules in Windows 7, Windows Server 2008, Windows 8 and Windows Server 2012.

  1. Go to Control Panel >> Administrative Tools >> Windows Firewall with advanced Security
  2. Click on Inbound Rules
  3. Click on New Rule option from right hand pane
  4. Select Port radio button then click Next button
  5. Select TCP check box
  6. In Specific local ports text box enter “25, 110, 143”
  7. Click Next button
  8. Select “Allow the connection” check box
  9. Click Next button
  10. Select the profile for which this rule will be applicable. For now select all three profiles i.e. Private, Public and Domain. Click Next button
  11. Enter name and description for this rule. Click Finish button to save and apply the new rule created.

To create firewall exception rules in your Antivirus Firewall follow the manual of Antivirus Firewall. These steps are unique per Antivirus Firewall solution.

To verify if the hMailServer is listening on configured ports (POP3 (110), SMTP (25), IMAP (143) ports), you can download tcpview.exe. You can also view same by executing netstat –abv command, running Command Prompt as Administrator.

Configure email accounts

Now we are ready to test email communication through hMailServer. To do this configure at least two hMailServer email accounts on two devices (PCs). While configuring email account on client use below data:

  • Email address: email address you want to configure e.g. sales@example.com
  • Username: Entire email address e.g. sales@example.com
  • Password: password of your email account.
  • Incoming (POP3) email server: IP Address or hostname of hMailServer
  • Incoming (POP3) Port: 110
  • Outgoing (SMTP) server: IP Address or hostname of hMailServer
  • Outgoing (SMTP) Port: 25
  • SMTP Authentication: Enabled

To check communication between any two email accounts send a test email from one client to another and receive the same on another client.

For doing intranet email communication you don’t required to have a registered domain name. You also don’t need to have any web hosting package.

That is all we need to achieve intranet email communication. However we can also use  hMailServer as e-mail distribution server for intranet as well as remote emails too but that we will see later. Until then. Happy 🙂 emailing.

Related Posts

One thought on “Building intra-net email server (hMailServer)

Leave a Reply