Skip to content

Instantly share code, notes, and snippets.

Last active May 5, 2024 16:43
Show Gist options
  • Save raelgc/6031306 to your computer and use it in GitHub Desktop.
Save raelgc/6031306 to your computer and use it in GitHub Desktop.
Setup a Local Only Email Server (Windows Only)

Setup a Local Only Email Server (Windows Only)

1 - Install hMailServer

Download hMailServer from here:

  • In setup, select internal db engine.
  • Now you have a service called hMailServer and an administration program on the Windows start menu (hMailServer Administrator).

2 - Create a domain

  • Open hMailServer Administrator program.
  • Click on "Domains" and then "add domain".
  • At "domain name" put a fake domain to test. Use "" (without the quotes): hMailServer requires a fully qualified domain, so, we cannot use @localhost.
  • Make sure to add your domain ( to hosts file: C:\windows\system32\drivers\etc\hosts

3 - Change server name

  • Expand Settings > Protocols > SMTP -> Delivery of e-mail
  • At "Host name" put "localhost" (without the quotes).
  • Check if TCP Port is 25.

4 - Create an account

  • Go to "Domains", click on the created domain, and then click on "accounts", then "add account".
  • At "address", create your account name, here I use "rael" (without the quotes), and put a password.
  • Change "Administration level" to "Server".

5 - Configure "catch-all" address

  • Enabling this, you can use any email address ending with you fake domain. Example: here, my unique account is But while testing systems, I can use any address like,, etc, because all will be redirected to
  • Open "Domains", click on your domain, open Advanced tab, fill field "catch-all address" with account created on previous step.

6 - Configure an Email client

  • At Windows, you can use Windows Live Email (
  • Of course, you can use any email client.
  • While configuring
    • Incoming Server is POP3, and the username is the full email address (like, and the password is raw text (no encrypt).
    • POP3 and SMTP server are "localhost" (without the quotes).
    • Outgoing server do not require authentication.
  • Don't use the email client and the hMailServer Administration application at the same time!
Copy link

ptrqww commented Feb 16, 2023

Please, what exactly should I write in the hosts file?
Just ? or

Thank you )

What I get in status is "localhost" is currently banned in the ip ranges"...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment