Deliverability

How to Rotate IPs in PowerMTA for Better Deliverability

Sending all your email from one IP is risky. This guide shows you how to set up IP rotation in PowerMTA using virtual MTAs to spread volume and protect your sender reputation.

By PMTAcore Team
How to Rotate IPs in PowerMTA for Better Deliverability

When you're sending a high volume of email, putting all your traffic through a single IP address is like putting all your eggs in one basket. If that IP gets blacklisted or throttled, your entire operation stops. IP rotation solves this by spreading your email across multiple IP addresses.

PowerMTA makes IP rotation straightforward through a feature called Virtual MTAs. Let's walk through how to set it up.

Why Rotate IPs?

There are several good reasons to use multiple IPs:

  • Risk distribution: If one IP gets blacklisted, the others keep working
  • Higher throughput: Each IP has its own sending limits at major providers. More IPs means more capacity.
  • Reputation isolation: You can separate transactional emails from marketing emails so one doesn't affect the other
  • Warmup flexibility: You can warm up new IPs gradually while your existing IPs handle the main load

How IP Rotation Works in PowerMTA

PowerMTA uses a concept called Virtual MTAs (VMTAs). Each VMTA is tied to a specific IP address and has its own settings. You then group VMTAs into pools, and PowerMTA rotates between them when sending.

Here's the hierarchy:

VMTA Pool (e.g., "marketing-pool")
  ├── VMTA 1 → IP 1.2.3.4
  ├── VMTA 2 → IP 1.2.3.5
  └── VMTA 3 → IP 1.2.3.6

Step 1: Add IP Addresses to Your Server

First, you need multiple IPs assigned to your server. Most cloud providers let you add secondary IPs through their control panel. Once assigned, add them to your network interface:

# Check current IPs
ip addr show

# Add secondary IPs (varies by provider and OS)
sudo ip addr add 1.2.3.5/32 dev eth0
sudo ip addr add 1.2.3.6/32 dev eth0

Make these persistent by adding them to your network configuration files so they survive a reboot.

Step 2: Create Virtual MTAs

In your PowerMTA config (/etc/pmta/config), define a VMTA for each IP:

<virtual-mta mta1>
  smtp-source-host 1.2.3.4 mail1.yourdomain.com
  <domain *>
    use-starttls yes
    max-smtp-out 20
    dkim-sign yes
    dkim-identity @yourdomain.com
    dkim-selector pmta1
    dkim-key /etc/pmta/dkim/yourdomain.com.pem
  </domain>
</virtual-mta>

<virtual-mta mta2>
  smtp-source-host 1.2.3.5 mail2.yourdomain.com
  <domain *>
    use-starttls yes
    max-smtp-out 20
    dkim-sign yes
    dkim-identity @yourdomain.com
    dkim-selector pmta2
    dkim-key /etc/pmta/dkim/yourdomain.com.pem
  </domain>
</virtual-mta>

<virtual-mta mta3>
  smtp-source-host 1.2.3.6 mail3.yourdomain.com
  <domain *>
    use-starttls yes
    max-smtp-out 20
    dkim-sign yes
    dkim-identity @yourdomain.com
    dkim-selector pmta3
    dkim-key /etc/pmta/dkim/yourdomain.com.pem
  </domain>
</virtual-mta>

Each VMTA binds to a specific IP and can have its own DKIM selector, sending limits, and domain-level settings.

Step 3: Create a VMTA Pool

Now group your VMTAs into a pool:

<virtual-mta-pool marketing-pool>
  virtual-mta mta1
  virtual-mta mta2
  virtual-mta mta3
</virtual-mta-pool>

When you inject email into this pool, PowerMTA will automatically rotate between the three IPs.

Step 4: Set Up DNS for Each IP

Every IP needs proper DNS records. For each IP, you need:

  • A record: mail1.yourdomain.com → 1.2.3.4
  • rDNS (PTR): 1.2.3.4 → mail1.yourdomain.com (set through your hosting provider)
  • SPF: Include all IPs in your SPF record
  • DKIM: Add a DKIM record for each selector

Your SPF record should list all sending IPs:

v=spf1 ip4:1.2.3.4 ip4:1.2.3.5 ip4:1.2.3.6 -all

Need help with DNS? Check out our guide on configuring DKIM, SPF, and DMARC or use PMTAcore's DNS Automation to handle it automatically.

Step 5: Inject Email into the Pool

When sending email, specify the pool name:

echo "Test email" | pmta inject --from test@yourdomain.com --to recipient@example.com --vmta marketing-pool

If you're using SMTP injection, set the pool in the X-Virtual-MTA header:

X-Virtual-MTA: marketing-pool

Rotation Strategies

Round Robin (Default)

PowerMTA rotates through VMTAs in order. Email 1 goes through mta1, email 2 through mta2, email 3 through mta3, then back to mta1. This is the default behavior and works well for most use cases.

Weighted Rotation

If some IPs have better reputation than others, you can weight them:

<virtual-mta-pool marketing-pool>
  virtual-mta mta1 3    # Gets 3x the traffic
  virtual-mta mta2 2    # Gets 2x the traffic
  virtual-mta mta3 1    # Gets 1x the traffic
</virtual-mta-pool>

This is useful when warming up new IPs — give them less traffic initially and increase over time.

Separate Pools for Different Traffic

A common best practice is to separate your email types:

<virtual-mta-pool transactional-pool>
  virtual-mta mta1
</virtual-mta-pool>

<virtual-mta-pool marketing-pool>
  virtual-mta mta2
  virtual-mta mta3
</virtual-mta-pool>

This way, if your marketing emails cause reputation issues, your transactional emails (password resets, order confirmations) are unaffected.

Monitoring Your IPs

IP rotation is only useful if you're monitoring the health of each IP. Check regularly for:

  • Blacklist status — use the IP Blacklist Checker to monitor all your IPs
  • Bounce rates per IP — high bounces on one IP might indicate a problem
  • Delivery rates — compare inbox placement across IPs

PowerMTA's built-in accounting data can show you per-VMTA statistics:

pmta show vmtas

Common Mistakes

  • Missing rDNS: Every IP must have a matching reverse DNS record. Without it, many providers will reject your email.
  • Shared DKIM selectors: Use different selectors for different IPs to avoid confusion.
  • Too many IPs too fast: Don't add 50 IPs on day one. Start with 2-3 and add more as your volume grows.
  • No warmup: New IPs need to be warmed up gradually. See our IP warmup guide for details.

Simplify IP Management with PMTAcore

Managing multiple IPs, VMTAs, DNS records, and monitoring across several servers gets complicated fast. PMTAcore simplifies all of this.

With the PowerMTA Management tool, you can configure VMTAs and pools through a visual interface instead of editing config files. The Cloud Server Management feature lets you manage IPs across multiple servers from one place.

And when it's time to send, the Campaign Manager handles pool selection and rotation automatically.

Download PMTAcore or view pricing to get started.

#powermta#ip rotation#multiple ips#email deliverability#ip warmup#virtual mta