Create your own mail server:
Here I am listing out some methods to create your own mail server. These are the methods I tried out in my lab. These are simple to create if you follow a simple documentation.
Using Windows Server and hMailServer (https://www.hmailserver.com/)
Using Windows Server and Axigen mail server free. (https://www.axigen.com/)
Using Zimbra mail server
Download hMailServer from https://www.hmailserver.com. Good documentation is also available there.
Execute the installation file on the server. Click Next.
Accept the agreement and click Next.
You can change the installation folder if required and click Next
Select Server and Administrative Tools and click Next
Select database. You can use built-in database engine if the number of users in your organization is less. Or select external database engine for production use. I am using MySQL database here.
Give administrator password and remember and click Next.
Now the installer will check for dependencies and will download and install.Click Next. If you are using Windows 2012 or later, you need to add feature .NET Framework 3.5 features using server manager.
Once the installation is completed, it will start configuration. Provide the password in the prompt.
Select Create a new hMailServer database and click Next
Select your database server and click Next
Provide database server details and also provide Username and Password. Do not create a databbase. The installer will create a database.
If you receive any error like below, download and copy dll file to bin folder.
hMailServer installation is completed and select Run hMailServer Administrator and click Finish.
Now select option Automatically connect on start-up and click Connect
Provide youe administrator password.
Click Add domain and add your domain name and click Save.
Click on test.com -> Accounts to add users.
For advanced options, you can visit the documentation page at https://hmailserver.com
You can now configure your email client with options configured. Or alternatively, you can have your web mail server like squirrel mail or other open source.
If you want to use the mail server for sending mails to outside mail servers, get a public IP and point your MX recoed to your public IP.