How do I manage IP addresses and rotation with an MTA?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

Managing multiple IP addresses lets you segment traffic, distribute load, and protect your sender reputation. The core idea is straightforward: if one stream of mail damages an IP's reputation, your other streams keep flowing unaffected.

Most organizations separate transactional email (order confirmations, password resets) from marketing email (newsletters, promotions) at minimum. Some go further and isolate re-engagement campaigns or high-risk segments onto dedicated IPs, so they don't drag down the main sending pool.

In Postfix, you bind each mail stream to a specific IP by defining separate transports in master.cf. Each transport gets its own smtp_bind_address, and you use transport_maps to route messages based on sender, recipient, or header rules. It works well at moderate volumes, but requires manual configuration as you add IPs.

PowerMTA (now Bird) and KumoMTA handle IP management at a higher level. Both support named IP pools, automatic rotation across addresses within a pool, and per-domain delivery rules that select which pool to use based on the recipient's mailbox provider. KumoMTA uses Lua configuration for this, so you can write logic like "use the warm pool for Gmail, the new pool for Yahoo, and throttle both to respect their limits."

A few things to get right from the start:

  • PTR records. Every sending IP needs a reverse DNS (PTR) record pointing to a meaningful hostname. Missing or generic PTR records are a common reason mail gets rejected or flagged.
  • Authentication per IP. Your SPF record needs to authorize all your sending IPs. If you add a new IP and forget to update SPF, authentication will fail for that stream.

IP warmup is the other half of the equation. New IPs have no sending history, so mailbox providers treat them with suspicion. A warmup schedule gradually increases volume over weeks, building positive reputation before you go full speed. PowerMTA and KumoMTA both support automated warmup schedules. With Postfix, you manage warmup manually by controlling which domains and volumes route through new IPs.

Monitor each IP's reputation independently using Google Postmaster Tools and Microsoft SNDS. A single blocklisted IP in a shared pool can spread delivery problems across all your mail if you're not watching. You can also use our free Blocklist Checker to spot issues quickly.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Help me set up IP management correctly

I'm managing email sending across number IP addresses using Postfix / PowerMTA / KumoMTA / other MTA. I'm trying to [describe goal: segment traffic / warm up a new IP / investigate a reputation problem / set up rotation]. Here's my current setup: describe or paste config. Help me identify what I'm missing or how to improve it.

Edit the yellow boxes, then send to the AI of your choice.