hMailServer: a free email server that’s great for demos and testing
When doing testing or demos, I often need to send and receive email. For example, Dovetail EmailAgent requires a mail server for receiving incoming mail. Dovetail Rulemanager needs a mail server for sending outgoing notifications by email, as well as for sending outgoing email.
When I’m in the office, I could use our corporate mail server (although I don’t like to use production systems for testing). If I have internet access, I can use GMail, or another free hosted SMTP/POP3 server. But when I’m on the road, its not uncommon to end up in a conference room somewhere without internet access. So I prefer to have everything I need loaded on my laptop – and this includes a mail server.
hMailServer
hMailServer is a free email server that’s great for demos and testing. I’ve been using it for teh last 6 months or so, and I’ve been very pleased with it.
It just works.
From their website:
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.
For optimal performance, hMailServer uses a database server for data storage – MySQL, Microsoft SQL Server or PostgreSQL, depending on your choice. A minimal, low overhead edition of MySQL is embedded within hMailServer, so if you don’t already have a database server in your network, this is automatically taken care of for you.
Getting Started with hMailServer
Download the latest version from the hMailServer website
- Run the installer
- Open the hMailServer Administrator, connect to the localhost instance
- Add a new domain (I’ve called mine MyMachineName.localhost.com)
- Add an account
- Click on the domain you created
- Click on Add Account
- Type in an account address, such as “fred” (which means the email address will be fred@MyMachineName.localhost.com)
- Type in a password
- Click Save
- Optional: If you want to be able to send email externally of your machine, configure the SMTP relayer, as outlined in the hMailServer Quick Start Guide
Email Client
You can use almost any email client you want (Outlook, Outlook Express, Thunderbird, Eudora, etc.)
I don’t use Outlook Express for my daily use, so for me, it’s a great mail client to use for testing and demos.
Setting up Outlook Express with hMailServer
- Start Outlook Express
- Tools – Accounts – Mail Tab – Add button – Mail
- Type in a Display name, such as “Fred Six-Pack”
- Type in the email address, such as fred@MyMachineName.localhost.com
- Type in “localhost” for the incoming and outgoing mail servers
- For the account name, type in the full email address, such as fred@MyMachineName.localhost.com
- Type in the password for fred
- Finish
I typically repeat these steps for a 2nd account, then verify that the two accounts can send mail to each other, by creating a new mail message and sending it from one account to another.
Rulemanager SMTP Config
For Dovetail Rulemanager, I create a new email account called “rulemanager”, then set the Rulemanager SMTP config like so:
<add key=”EmailServiceConfig.Host” value=”localhost” />
<add key=”EmailServiceConfig.DefaultFromEmailAddress” value=”Dovetail RuleManager <rulemanager@MyMachineName.localhost.com>” />
EmailAgent config
For Dovetail EmailAgent, I create a new email account called “emailagent”, then set the EmailAgent SMTP & POP3 config like so:
<param name=”pop3Host” value=”localhost” />
<param name=”pop3Port” value=”110″/>
<param name=”pop3User” value=”emailagent@MyMachineName.localhost.com” />
<param name=”pop3Pass” value=”password” />
<param name=”pop3AuthType” value=”UserPass”/>
<param name=”pop3SecurityType” value=”None”/>
<param name=”smtpHost” value=”localhost” />
<param name=”smtpPort” value=”25″/>
<param name=”smtpUser” value=”emailagent@MyMachineName.localhost.com”/>
<param name=”smtpPass” value=”password”/>
<param name=”smtpAuthType” value=”None”/>
<param name=”smtpSecurityType” value=”None”/>
Summary
I can now send and receive email, as well as fully demo and test email-enabled applications, all locally, without any external dependencies.
Hope this helps