Installing & configuring PowerMTA could be a daunting task for beginners. However, if you are in digital marketing especially email marketing you would be tempted to try PowerMTA once in a life. Therefore, I have come up with the simplest way to install PowerMTA step by step on CentOS 8.
First of all, PowerMTA can be installed standalone as well as along with some control panel like VestaCP, cPanel, Virtualmin/Webmin, CentOS Web Panel, Froxlor, etc. In another article, I already have discussed the installation of VestaCP. If you want to install PowerMTA on VestaCP you can follow it.
In this article, I will be talking about standalone installation. Let’s Begin.
Requirement for PowerMTA
- VPS or cloud or dedicated server with at least 2GB of RAM (recommended minimum 8GB). I am using Contabo in this demonstration.
Best and cheap VPS for email marketing
- A domain name. I prefer to buy domain names from Namecheap.
- PowerMTA rpm file and license. You can get it from Sparkpost.
Connecting to server
If you are windows then you will need a SSH client to connect to server. A simple and easy SSH client is putty
Open the putty and paste the IP address of your server
Enter the username, it could be root or anything else provided by your hosting.
Now enter the password. In order to paste anything on putty, use right click of mouse.
Note that password won’t be displayed, therefore you don’t have to right click again and again, just click once.
Checking port accessibilty
Nowadays most of the cloud service providers sell cloud/VPS with port 25 blocked. Unless port 25 is open emailing wouldn’t be possible from your server. Therefore, it’s a good idea to check if outgoing traffic is permitted on port 25.
Install telnet with following command
dnf install telnet -y telnet mail.inguide.in 25
Output will be something like this
If you are not getting above result, this means port 25 is allowing outgoing traffic or in simple words, it’s blocked by hosting provider. You may want to request them to open port 25.
To exit above command windows type
followed by enter.
First of all you need to install CentOS 8 on VPS or cloud, which I already did on Contabo. If your hosting is different then make sure to select CentOS 8, when placing order.
Let’s update the CentOS
dnf update -y
After update finishes off, set up the hostname as follows
hostnamectl set-hostname node1.inguide.in
Don’t forget to replace inguide.in with your domain name. After that check if domain name is updated.
Now we will set up domain. Login to your domain registrar and create A record. Also update the MX record to include IP address of your server.
Now upload the rpm package and license to your VPS. Use FileZilla or WinSCP.
Installation and Configuration of PowerMTA
Now we have rpm package on the server. Let’s check the content of current directory to make sure uploaded file exist in it.
Now, after verification it’s time to install PowerMTA.
rpm -ivh PowerMTA.rpm
Don’t forget to PowerMTA.rpm with your rpm package name.
Next step is to copy the license file to the /etc/pmta directory.
After this step it’s time to configure pmta so download the config file here.
Next we are going to make changes in configuration file on PC itself. Open it in notepad or notepad++.
Update the IP address and domain name. Also, update the SMTP details to make it unique.
Now, before sending out first email, you need to create following DNS records.
- SPF record :
v=spf1 a mx a:inguide.in ip4:22.214.171.124 ~all
- DMARC record: For _dmarc.inguide.in
- rDNS record: To create rDNS record login to hosting and look for your server IP.
- DKIM record: Creating DKIM records is a little complicated. It’s been discussed in a separate article.
Testing of SMTP
Now after hard work, it’s time to test the server. Go to https://smtper.net and fill in the details as follows. Also, check out 10 tools to check the efficacy of your SMTP server.
|Email From||[email protected]|
|Email to||[email protected]|
Let’s open Gmail to check whether email has been delivered or not.
Voila! We successfully installed and configured PowerMTA.
Let me know in comment if you have any question. I will be happy to answer.