PowerMTA Setup Guide

powermta setup guide

When it comes to setting up an SMTP Server for your Business, we have different choices and methods to build it. One of these methods is using PowerMTA as your sending server.

In this guide, you will learn almost everything about PowerMTA and I will show you how simply you can install and configure PowerMTA, then send your first Email.

Also, you will find a video below explaining the steps mentioned in this guide if you feel something is unclear.

What is PowerMTA?

PowerMTA is a powerful MTA software (SMTP) used to send emails over the internet.

As I explained in my Techincal Email Marketing guide, any Email marketing system consists of two parts:

  • The sender: (SMTP service) this is the technical part. It allows you to send emails over the internet.
  • The Management Application, where you can configure and manage your Email Lists, Marketing Campaigns, monitor and analyze results, manage your sending servers, and so on.

So we connect both together to get an Email Marketing System.

In our case, the Sender software will be PowerMTA. And by the way, PowerMTA is an enterprise-grade software for sending high-volume and mission-critical messages. and it's somehow expensive.

What makes PowerMTA special is that it provides high performance, stability, and deliverability inline with perfect manageability.

And it's built with a much smaller hardware footprint than is possible with other products like postalhq, MAIB, postfix…

How to Get & Download PowerMTA?

Since PowerMTA is an enterprise solution software used by big companies worldwide like Mailchimp, and it's not like any piece of software, you will not find a direct download link to get PowerMTA from. so how to download??

Of course, I am not here distributing illegal or nulled copies!

I do respect copyright as much as I love others to respect mine.

Don't expect me to share with you any nulled versions here. if you are looking for such stuff, please find it somewhere else. WE ARE HERE TO LEARN.

So from where we can get PowerMTA? or at least how to get a trial version so we can test before we buy?

It's not that complicated, even though I get every day several questions from students following up my PowerMTA course because they even don't bother themselves to google it!

Anyway, to get a trial version of PowerMTA or buy a license, you can simply send a small message to the owner (Spark Post) using this contact form.

They are responsive, and they will respond within a day or two. then they may ask you some questions regarding your business just to make sure you are not a spammer, and you will get like two months trial copy to learn and test everything in the software before you buy a license.

PowerMTA Pricing

PowerMTA software licensing model is fairly straightforward in that customers choose by performance version Standard (100,000 +/- deliveries per hour) or Enterprise (capable of over 1,000,000+ messages per hour).

The only difference between the Standard and Enterprise version is that the Standard License Key limits the number of outbound simultaneous connections to 200. PowerMTA customers say that they can send 80,000 – 120,000 messages per hour on a Standard license.

You have the option of upgrading to an Enterprise license at any time. Upgrading is as simple as inputting a new license key.
With the virtual MTA feature of PowerMTA, most organizations only need 1 license.

There are 2 licensing models:

 PowerMTA Standard Annual and PowerMTA Enterprise Annual.

*  PowerMTA Standard Annual – $5,500.00 per license (per server) per year as long as you chose to use the software and includes Support Services defined as technical assistance via email and over the phone, free access to current and future major & minor releases, current and future fixes & patches if any, current and future documentation for the Software, and membership to the Port25 Support Forum.

*  PowerMTA Enterprise Annual – $12,500.00 per license (per server) per year as long as you chose to use the software and includes Support Services defined as technical assistance via email and over the phone, free access to current and future major & minor releases, current and future fixes & patches if any, current and future documentation for the Software, and membership to the Port25 Support Forum.

We also offer PowerMTA Hot Back-up and Development licenses for $1,000.00 per year per license.

Do you need PowerMTA?

As I mentioned, PowerMTA is used by enterprise companies and it's not cheap. So if you don't have that critical business or high massive email traffic, you can go with alternative cheap solutions like using SMTP services (Amazon SES, Sendgrid, Mailgun, Mandrill, Spark Post SMTP Service…) or even Free Solutions Like Postalhq, Postfix, MAIB, or others.

*Alternative solutions:

If you are interested in learning how to build an SMTP and send unlimited emails using your own server, you can check my premium Top Rated course:

Or You can Learn how to Build a Full Email Marketing System with Amazon SES and Mailwizz and go with 100X Cheaper Email Marketing here:

So Going back, do you need PowerMTA, it's up to you and it depends on your business.

Now you know what is PowerMTA and How to get it, we are ready to start our core work and start building our Email Marketing system with PowerMTA.

Please read my Technical Email Marketing Guide to understand how things work if you are a newbie in this field. you will understand everything in minutes.

PowerMTA Email Marketing System Setup.

As I mentioned above, the Email System consists of two parts, the SMTP (PowerMTA in our case) and the EMS (Email Marketing System) application. and it will be Mailwizz in my case. (You can use any email sender you want)

What is required to build this system?

What you need is simply:

  • VPS Server/s to install PowerMTA and The EMS application on.
  • Domain Name to use with our setup.

Now someone may ask: “Can I set up everything on one VPS server, or do I need multiple servers?”

Let's now assume that you have one server with good resources to handle everything, you can install and configure everything on it. It's Ok.

But! in case anything bad happens like you got blacklisted, a technical problem happens or anything else, you will lose everything!

Even if you have a backup, you can't imagine a day where everything breaks and you need to recover your system.

So, it's recommended to Go with a multi-server setup.

I will not tell you, get a VPS for every service you have. NO!

but it's recommended to keep your SMTP mailing servers away on a dedicated server each. so if one of the servers is down, you will not lose everything, you simply fix this specific server.

I will sum up our system with the following diagram:

I think this is enough, let's get started!

Get a Domain Name.

Getting a Domain is as simple as eating a piece of chocolate cake. you need to go to any Domain registrar company like Godaddy, Enom, Freenom, Namecheap…. and Buy a Domain Name, you can even get one for 1$ per year.

I do recommend to get a .com domain that reflects your business. and if you already have one, as I think so, you can just skip this, and continue to get a VPS Server.

Watch this 3 Minutes Video and see how to get and buy a domain name from Godaddy:

This video is part of my Top Rated Course On Udemy:
Build Your Own SMTP and Send Unlimited Emails

Get a VPS Server For PowerMTA.

Now, Let's get our first VPS server to setup PowerMTA on.

What company should I use?

This question is really very important, and I see it frequently. why It's important, can't we choose any VPS Company? The answer simply is NO! why?

Building an SMTP server has mainly one main mandatory prerequisite that must be available in the VPS company that you wanna choose. what is it?

PORT 25 must be opened! What is Port 25 and why it must be opened?

look at this diagram:

smtp port 25

Did you get the point?

Simply, The SMTP server uses port 25 to connect to other mail companies like Gmail, Outlook, Yahoo or any other. because all these companies listen and accept connections on port 25 only.

What about other ports?

Yes, you can connect to your SMTP server from your mailing application or client using different ports, most commonly 25,587,465 are used.

What is a port?

You may be thinking now, what is a port? especially if you don't have any technical background as a marketer.

I will not bother your head now with technical details, simply, just understand that in networking, in order to connect between services and devices use port numbers, like we use port 80 to surf the web under HTTP protocol, port 443 for HTTPS secure connection, port 22 for SSH connections and so on.

So simply port 25 is used to send emails under SMTP protocol.

Let's go back now to our work, we need to get a VPS server with port 25 opened so we can send emails. where to find one? to make things simple, here is a list of companies that you can start with:

*Digital Ocean Sometimes block some accounts and restrict port 25, but in general they allow all ports.

Are there any others?? yes, simply you can contact the support of any company you want and ask if they block any ports by default. if not, then perfect, you can go with it.

Any other prerequisites to consider when choosing a VPS company?

In General, No. But if you are looking to set up IP rotation later on( we will talk about it later), then you need to have multiple network adapters connected to your server.

So simply, check if the company allows multiple adapters and IPs in their system.

Create a Server.

Now I think you are ready to get a VPS server. You can also sign up on DigitalOcean through the coupon link below to get free 100$ to test everything free.

So after you signup on Digital Ocean or any other VPS company, just create a Server with the following specifications:

  • CentOS 6/7 x64 as your operating system
  • You can start with 1 CPU/ 1 GB RAM (You can resize later).

VPS Server basic configuration.

Now we have our clean server, Let's prepare it for PowerMTA installation.

Connect to your server, using an SSH client like putty or bitvise.

First, check your hostname:

hostname -f

If you don't see a form of ANYTING.YOURDOMAIN.COM, then you need to change the hostname using the following command:

 hostname host.domain.tld 

where the host is anything you want. so in my case, my sample domain for this tutorial is h-y.me, the command will look like this:

hostname power.h-y.me

Map your domain name.

Now we have our VPS server and we set its name. Go to your Domain Provider and map your Domain to your VPS server. simply open DNS management zone and add a new A record like this:

host: power points: YOUR SERVER IP.

*power is in my case, you can choose whatever you want for your server name.

Install PowerMTA

Now we need to upload the PowerMTA file to our server for installing. The easiest way is to use a small tool called Winscp.

You can simply connect to your server through Winscp and upload the PowerMTA installation rpm file by drag and drop.

The file is on your server? Great!

Let's now install PowerMTA by running the following command:

rpm -ivh PowerMTA-4.5r1.rpm

*Be sure to run this command in the directory where you uploaded the rpm file.

Then Copy your license file to /etc/pmta/ and you are done! So simple haa!

PowerMTA Configuration.

Now, the final step before you can send an email from your server is to configure PowerMTA.

PowerMTA has a config file located in /etc/pmta/ directory. just open it so we edit and configure. To make things simple for you, you can just download the config file attached and replace instead of yours, and change the values the corresponds to your server.

Download Sample PowerMTA config file:

After you download, upload and replace it with the one on your server, then open the file to edit.

You will find a place where you can change the IP address.

Put your server IP instead. and then replace my domain with yours in the file.

Now restart PowerMTA service using the following command:

service pmta restart

We are Done!

Send a Test Email

Now we are ready to send our first email. How to test our server?

Simple, Go to SMTPER.NET and enter your server details as follows:

smtper test smtp

be sure to change the values so it reflects your domain and your config file parameters. Then click “Send the Test”. Awesome!

*You can change the login and password, in the config file and replace it with whatever credentials you want (KEEP IT SECURE).

powermta change user  and password
Change the values and replace with your own.

So here we are, we installed and configured PowerMTA and Sent our first email!

Sometime you may face an error while sending, feel free to comment any question below or open it on H-answers.com. I will be there every day to answer your questions.

Now we still have the second part of our email marketing system which is the EMS or the sender application.

Setup Mailwizz (EMS)

You are not obliged to use Mailwizz, you can use any EMS of sender application to connect with your server. But since Iam using Mailwizz in my system, and I feel that it is the best choice when it comes to features compared to the price, which is only one-time payment without any limits or recurring fees.

You can buy it from codecanyon here.

Mailwizz is a PHP script and its really simple to set up and host.

I created a full guide to learn how to install Mailwizz on any VPS Server. Check below:

Or you can simply watch me setting up and configuring Mailwizz in this video (different method):

Mailwizz Installation on Webmin WHM.

Also, check my post on How to host a PHP script online in 10 minutes? example: Xerochat from Codecanyon, it will help you understand everything in munites.

Before You Send!

Congratulations! You Installed PowerMTA and you configure your own Email Marketing system, but before you send, you have to understand some crucial concepts and follow up the guidelines to get the best delivery rates and reach the inbox!

Warming Up your SMTP server

When you build a New SMTP Server with a new IP Address, and Before You can Start Sending Your Email Marketing Campaigns, you have to warm up your IP Address.

What is Warming Up IP?

When you have a new Brand IP Address for your SMTP, this IP will have no Reputation on the internet, and ISPs (internet service providers) don't know this IP.

So IP warmup is the practice of building Your Reputation on The Internet by gradually increasing the volume of mail sent with your IP address according to a predetermined schedule.

Example of warming up your server shown in the table below:

Warmup DayEmails To Send

This Table shows a scenario if you wanna reach 1K emails per day with a good reputation. Please refer to my Warming up SMTP Guide for more details.

Also, you can watch my full video about Warming up here:

Configure SPF, DKIM, rDNS, and DMARC.

SPF (Sender Policy Framework):

An SPF record is a TXT record that is added to your Domain DNS Zone and allows you to set the mail servers that are allowed to send emails from your domain.

Messages sent from a server that isn’t included in the SPF record will be marked as spam or rejected.

As an example, you can’t send an email from your own server and set your sending email as “mail@google.com,” you can’t use google’s domain. It indicates that you are trying to spam.

In the same way, you can configure SPF and prevent anyone from using your domain to send emails,  So setting SPF is very important when it comes to making your domain trusted by other mailing providers.

To set up SPF. Open your DNS zone in and add the following record:

v=spf1 a ip4:XXX.XXX.XXX.XXX ~all

*Replace with your server IP.

Now only your server can send emails from your domain.

Dkim (DomainKeys Identified Mail) :

A Dkim record is also a text record in your DNS that holds a public authentication key. This key will be validated using a private key saved privately inside your server.

All emails will be signed, and this will avoid any alterations and protect your email originality, and this is very important for your server to archive high sending scores.

Watch this video for more info:

Setup Dkim For PowerMTA:

Run the following commands:

1: openssl genrsa -out dkim.private.key 1024
2: openssl rsa -in dkim.private.key -out dkim.public.key -pubout -outform PEM

This will generate the Public Key that you need to paste and create in your DNS zone. and the private key that you need to point in your PowerMTA config file.

Then restart powerMTA service:

service pmta restart

rDNS (Reverse DNS):

The reverse DNS is called a pointer record and is used to point your IP to your Domain, its the inverse of the regular DNS A record.

So when you call the IP, you will get the name. It is also an essential factor in setting up your mail server and increasing your sending score and reputation.

Learn more about rDNS here:

DMARC (Domain-based Message Authentication, Reporting & Conformance):

It is a Protocol that uses (SPF)  and (DKIM) to determine the authenticity of an email message. 

DMARC makes it easier for Internet Service Providers (ISPs) to prevent malicious email practices, such as domain spoofing in order to phish for recipients’ personal information. 

It allows email senders to specify how to handle emails that were not authenticated using SPF or DKIM. Senders can opt to send those emails to the junk folder or have them blocked them all together.

To understand the importance of DMARC for your Online Business and how to set up, please watch this video:

Avoid Spam Factors

Mainly we have Four main factors the determines your spam score:

  • IP Reputation
  • SPF, DKIM, rDNS, and DMARC.
  • Message Body
  • Email List health.

The first two factors are explained above. we still have Message body and Email List Health.

Message body: Simply is the subject and the content of your email. doest look spammy? does it have any spammy keywords and triggers?? this what determines your message score.

Be sure to avoid any of these while creating your Subject lines and Message bodies.

You Maybe Also Interested in this article “How To Land Your Emails In Inbox? The Ultimate Guide!”

Check this article on Hubspot, to learn more about spam keywords.

Email List Health: Simply it's determined by two things:

  • Bounce Rate: How many emails are valid in your list.
  • Spam Traps: does your list contain any spam traps?

Learn more about spam traps and how to avoid in this video:


And always be sure to validate your email lists and clean it before sending any campaign. check my free online email validation service here.

I think you will be also interested in watching this video:

How to send 100K emails Daily to inbox.

Follow up My Youtube Channel For Daily Awesome new videos about Email Marketing, Digital Marketing, and Online business stuff to Grow Online.

Also, Join My Email Marketing Newsletter to Get exclusive Email Marketing Tips that I share only with my email subscribers.

That's it! I hope everything was simple and clear.

Note*: if you are interested in learning more about PowerMTA, Setup IP rotation, and get more support, you can join my PowerMTA course for with up to 95% Discount [LIMITED TIME]

PowerMTA Setup Video:

Good Luck!

If you have any questions, Feel free to comment below.

Related Articles


Your email address will not be published. Required fields are marked *

  1. Nice work. But after I finished the installation, I tested my smtp but I get error:
    SMTP send error
    A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. xx.xx.xxx.xxx:25

  2. Hello,
    I need help please
    I have used Sendgrid with PowerMTA sucessfully with this:

    route smtp.sendgrid.net:587
    auth-username MyUsername
    auth-password MyPassword
    use-starttls yes
    max-smtp-out 1000

    But when i tried to do the same with Mailgun it’s not working for me.
    Can you please help me with this.
    Thank you.

  3. Hassan Thanks for teaching amazing, just one thing that I think you missed in your video about Powermta DKIM configuration, everything looks good Validation DKIM show fine, but what you don’t show in your video is actually this:
    un the following commands:

    1: openssl genrsa -out dkim.private.key 1024
    2: openssl rsa -in dkim.private.key -out dkim.public.key -pubout -outform PEM
    This will generate the Public Key that you need to paste and create in your DNS zone. and the private key that you need to point in your PowerMTA config file.
    You don;t show your configuration in your Config file of your public and private dkim key so if you can fix that and show that your DKIM setting will pass Gmail
    , Msn, hormail, yahoo or any other email provider will be wonderful, thanks

  4. How to change bounce email in power mta server or config?
    Currently i am getting bounced email back to FROM email. But i want to receive bounced email to a seprate email example bounce@abc.com
    Is it possible to configure? if yes, how?

      1. Thank for a great article !

        You said, that Standard Pmta can send 100 000 emails per hour… What system requirement on the vps is needed for that ? and how many ip’s

    1. Hi friend,
      I just checked it and it is working. Are you getting any error? Maybe your antivirus is blocking the webpage please check.

  5. Hi
    Thank for a really great blog !!
    Do you have, paid/free, course on troubleshooting PMTA ?
    I have an issue with pmta, it sending out slow.. many emails get stuck in que.. have over 100 000 emails stuck in que. The email software is sending out what it is suppose to … ( I have software and PMTA on the same server)

  6. i got error installing vesta. but after that i stoped sendemail that run in port 25. then powermta working but no delivey even in spam folder

  7. Hey, its great article, I am having little bit trouble with PowerMTA setup, I want to ignore all incoming emails to my powerMTA how can I do it?

  8. Am having issue with powermta , the setup is complete successfully, and it also working well with smtp programs. unfortunately, after integrating with laravel app transactional emails, like password reset link, user registration email etc . The email notification deliver with complete source code to mailbox. Whereas when i integrate it with sendgrid smtp it works fine, do anyone here have i ideal on how to fix this in powermta configuration? i have been searching online for solution but none.

    The emails delivered to inbox with source code as shown below.

    Content-Type: text/html; charset=ISO-8859-1



    Hi austus,

    Your account was just accessed from an unknown IP address this was you, please you can ignore this message or reset your account password.