Bulk Email Server Guide: Main Server Install

In this guide I am talking about the MAIN server and MTA server, so to avoid any unnecessary confusion let me clarify this.

The Main server is the server where your Email Marketing Software (EMS) such as Mumara, MailWizz, Interspire Email Marketer, ... is installed. Since we are getting ready to set up a bulk email server with an option to scale it up if needed I recommend you pick a bit more powerful VPS for it.

The MTA server is a server where PowerMTA is installed. These servers are doing all the sending. This is just one layer of protection to keep your MTA servers away from your Main server. In case there is ever a problem your main server will never be taken down since it's not doing any sending at all. MTA server can be any budget VPS with at least 1GB RAM.

bulk email server
Now let's get back to our Main server. For my own personal use, I have:

  • Six-core CPU (Intel® Xeon® E5-2620v3)
  • 24 GB RAM (guaranteed)
  • 600 GB SSD
  • UNLIMITED traffic
  • 1 IPv4 + IPv6

The price I am paying for my main server is 14.99 € (around $18) per month. And since it is not doing anything wrong and there is no reason for my VPS provider to shut it down I can pay for it for 1 year and get an even lower price.

Of course, I never pay for my MTA servers upfront. They are the bad guys and could be taken offline at any time. But even if they do I still have enough left and can add a new one in about 30 minutes. The price I'm paying for MTA servers is from 1,5 € - 5 € for each server per month, but more about this later when we look at the process of setting up MTA/sending server.

In this step you will need:

  • A bit more Powerful VPS (I suggest at least 8GB RAM, 16GB recommended). Don't have a server online yet? Get it online in less than a minute.
  • Clean install of CentOS 6/7 x64 (minimal recommended)
  • SSH client (I suggest Bitvise)

Now login as root and follow these steps:

First, check your hostname

hostname -f

It should be in the format hostname.domain.tld. Where hostname is something random like server, main, box, ... Since we want that it's obvious this is a bulk mail server I recommend you stay away from words like mail, email, newsletter, ... In my case, this is henry.powermtaninja.science

If you didn't set your hostname during your VPS setup or the provider you are using does not have this option follow "How to set hostname".

Install required packages

yum -y install wget

Server update

yum -y update

Reboot

reboot

Now depending on your CentOS version use the appropriate lines.

CentOS 6

cd /usr/local/src
wget http://centos-webpanel.com/cwp-latest
sh cwp-latest

CentOS7

cd /usr/local/src
wget http://centos-webpanel.com/cwp-el7-latest
sh cwp-el7-latest

The installation process can take from 5-20 minutes depending on your VPS specifications, so get a cup of coffee and relax.

When the installation finishes copy the login information and paste it to a safe place. I always create a new text file and save all login details in it. Of course, I save it in a safe place (check Tools).

Reboot

reboot

The installation is now complete and you can log in to the control panel and start with basic configuration.

Having problems?
Please use the comments below for your questions. This way other users can benefit from provided answers. Please read this first!

This tutorial is a part of the complete Do It Yourself Bulk Email Server Guide. If you are interested in starting with email marketing or want to improve your delivery, open, and click rates I recommend that you follow it from the beginning. Almost 15 years in this business and many, many tests show that this is the best long-run solution for every mass email sender with a double opt-in, scraped, or bought list.

Join Hundreds of Happy Email Marketers!

Start the Guide Now!

This Post Has 3 Comments

  1. ninja

    Here are most frequent problems users have in this step.

    None so far.

  2. pritich

    PLs advice “How to setup hostname” in webmin.

    1. ninja

      Easiest way is to do it from command line. Use

      hostname host.domain.tld

Comments are closed.