Skip to content

/ Managed migration

PowerMTA to KumoMTA, remapped and operated — translation is the easy part.

It is the most common MTA migration and the least automatic. There is no converter, because pmta.conf and KumoMTA's Lua are not dialects of one language — a virtual-MTA becomes an egress source, a retry ladder becomes adaptive shaping, a flat config becomes code that runs. We do the remapping, run a shadow-and-canary cutover that protects your reputation, and operate the Lua afterward. The same path Postmark took to KumoMTA, handled end to end.

/ Quick answer

Migrating from PowerMTA to KumoMTA is the most common MTA migration and the least automatic — there is no converter, because PowerMTA's flat pmta.conf and KumoMTA's Lua configuration are different paradigms, not dialects. The move is concept remapping: a virtual-MTA becomes an egress source, a retry ladder becomes adaptive traffic shaping, bounce rules become a Lua classifier. The reasons to do it are KumoMTA's economics and architecture — Apache-2.0 open source with no license server that can halt sending, built in Rust and cloud-native. The risk to manage is reputation, which a shadow-and-canary cutover protects. Email Delivery Platform runs the whole migration — the remapping, the staged cutover, and the Lua operations afterward — the same path Postmark took.

  • No converter

    Flat directives become Lua that runs at delivery time. The migration is remapping concepts, not translating syntax.

  • ~$8K/yr

    PowerMTA licensing, plus a license server that halts the MTA if validation fails. KumoMTA is Apache-2.0, no phone-home.

  • 5–10%

    Canary traffic during the shadow phase — parity proven before any real ramp, so reputation stays intact.

  • Postmark

    Moved its whole PowerMTA estate to KumoMTA this way and kept sixteen years of reputation. The proof it works.

/ 01 — Why move

The license server is in the critical path of your sending.

PowerMTA earned its two decades as the commercial standard, and this is not a case against its engineering. It is a case about two things that have nothing to do with how well it moves mail. The first is a dependency most operators only notice when it bites: PowerMTA validates a license periodically, and if that check fails — an expired file, a network problem reaching the licensing server — the MTA stops accepting new messages. For infrastructure where sending is revenue, that is an external kill switch held by a vendor sitting in your critical path.

The second is the plain economics. PowerMTA licensing runs around eight thousand dollars a year, while KumoMTA is Apache-2.0 open source with no license file, no remote validation, and no recurring fee. Built in Rust by the architect who designed Momentum, it was cloud-native from day one — Docker, Kubernetes, and a cluster that shares throttle state across nodes. Below roughly five million messages a day, the open-source engine wins the math without argument, which is the volume band where most senders evaluating this migration actually live.

Above that band the calculation can flip, and it is worth saying so plainly: at very high volume with a need for SLA-backed enterprise support, PowerMTA's established partner network still has a more developed services ecosystem. The migration is not a universal upgrade. It is the right move for a specific and large group — senders who want the licensing freedom and modern architecture without the license server in the path — and the rest of this page is about doing it without losing reputation or sinking weeks into Lua.

/ 02 — The concept map

What each PowerMTA concept becomes in KumoMTA.

This is the migration, made concrete. Pick a PowerMTA concept on the left and see what it maps to in KumoMTA and what the remapping involves. None of it is find-and-replace — that is why there is no converter, and why doing it well is the whole job.

virtual-mta (VMTA) egress source / egress pool

Throttling and per-IP control move out of monolithic VMTA blocks and into egress sources grouped into pools.

Mappings follow KumoMTA's own migration documentation. Want to do it yourself? The full DIY walkthrough is in our migration guide. This page is for handing the whole thing over instead.

/ 03 — The cutover

Reputation is protected by the sequence, not by luck.

The config translation is the visible part; the cutover is the part that protects what you cannot afford to lose. KumoMTA runs in parallel with PowerMTA first, proving parity on a small canary share before any real traffic moves, then ramping gradually. Here is the shape of it.

Weeks 1–2 Translate pmta.conf → Lua; VMTAs → egress; bounc Weeks 3–4 Shadow 5–10% canary in parallel; main reputat Weeks 5–6 Cutover Ramp 10 → 50 → 90 → 100% over ~14 days Week 7 Decommission Retire PowerMTA; 30-day cold standby

Weeks 1–2

Translate

pmta.conf → Lua; VMTAs → egress; bounce rules → classifier

Weeks 3–4

Shadow

5–10% canary in parallel; main reputation untouched

Weeks 5–6

Cutover

Ramp 10 → 50 → 90 → 100% over ~14 days

Week 7

Decommission

Retire PowerMTA; 30-day cold standby

/ 04 — What we run

The Lua is ours to write and ours to keep running.

The reason a managed migration is different from a guided one is what happens after cutover. KumoMTA's power is that its configuration is code — Lua that hooks delivery events, shapes traffic per ISP, classifies bounces, and isolates tenants — and that power is also its cost: someone has to write that code, debug it, and keep it current as your sending changes. We are that someone. The policy authoring, the per-ISP shaping aligned to Gmail, Yahoo, Microsoft, and Apple, the tenant throttle calibration, the hot-reload checks on every change — that is operations we run, not a runbook we hand you.

It continues past the migration. KumoMTA ships structured logs and a Prometheus metrics endpoint, so we wire delivery events into monitoring, track shaping calibration weekly, review tenant throttles, and evaluate engine upgrades against each release. The same dedicated, own-infrastructure model that EDP runs for everything else applies here: the engine is KumoMTA, the IPs are yours and isolated, and the reputation work continues as an operated service rather than a project that ends when traffic finishes ramping. You get the open-source engine without becoming its operator.

/ 05 — Managed vs DIY

Managed migration vs doing it yourself.

The DIY path is real and the documentation is public — if your team wants to own the Lua, that is a legitimate choice and the comparison says so. The managed path is for teams that want KumoMTA's economics without its operational learning curve.

Filter:
Dimension DIY migration This platform Managed infrastructure
Config translation You map pmta.conf to Lua by hand, no converter We translate and validate against parity metrics
Lua expertise Your team learns and maintains Lua policy We write and operate the Lua
Cutover risk On you to stage shadow, canary, and rollback Shadow-and-canary cutover, reputation protected
Reputation continuity At risk if cutover is rushed Parity-proven before ramp; the path Postmark took
Timeline Weeks of internal engineering time Weeks, but operated — not your engineers' time
Licensing after Free engine, but you run it Free engine, operated for you
Rollback insurance Yours to plan and hold 30-day cold PowerMTA standby kept as insurance
Speed of doing it yourself Their edge Full control, and the docs are public Less hands-on — the trade for not operating it
Deep PowerMTA-only shop Their edge If you love Lua and want to own it, DIY fits We will tell you when self-managing is the better call

/ 06 — When to stay

When migrating would be the wrong call.

There are teams that should keep PowerMTA, and a service that pretended otherwise would not deserve the migration. If you send well above five million messages a day and your operation depends on SLA-backed enterprise support from an established partner network, PowerMTA's mature services ecosystem may be worth its license — KumoMTA's support and tooling ecosystem is younger by two decades, and that gap is real for organizations that need guaranteed vendor backing.

The other case is about your team, not your volume. There are documented migrations that reversed back to PowerMTA when a team found the Lua complexity outweighed the license savings they were chasing — an honest outcome worth naming, not hiding. If your team has deep PowerMTA expertise, no appetite for operating Lua, and intends to run the engine itself, an unmanaged migration can leave you worse off than you started. The managed path is built precisely to dissolve that trade: you keep KumoMTA's economics and shed the Lua operations to us. But if none of the reasons to move apply, the honest recommendation is the simplest one — stay where you are.

/ Common questions

What teams ask before migrating off PowerMTA.

Is there a tool that converts a PowerMTA config to KumoMTA automatically?

No, and that is the heart of why this migration is more work than it looks. There is no automatic converter because the two are not dialects of one language — PowerMTA's pmta.conf is a flat file of directives parsed once at startup, while KumoMTA's configuration is Lua that runs at delivery time and hooks into lifecycle events. Translating one to the other is concept remapping, not find-and-replace: a virtual-MTA block becomes an egress source, a retry ladder becomes adaptive traffic shaping, bounce rules become a Lua classifier. KumoMTA's own team offers paid config-conversion for exactly this reason. A managed migration is that remapping done by people who have done it before.

Why migrate off PowerMTA at all if it works?

Two reasons, and neither is that PowerMTA is bad — it was the commercial standard for two decades for good reason. The first is the license server: PowerMTA checks a license periodically, and if that validation fails — an expired file, a connectivity problem reaching the licensing server — the MTA stops accepting new messages. That is an external dependency on a vendor's infrastructure sitting in the critical path of your sending. The second is cost and architecture: PowerMTA's licensing runs around $8,000 a year, while KumoMTA is Apache-2.0 open source with no license file and no phone-home, built in Rust and cloud-native from the start. Below roughly five million messages a day, the open-source engine wins the math cleanly.

Will migrating put my IP reputation at risk?

Not if it is done as a staged cutover rather than a switch flipped overnight, which is exactly why the process matters more than the config translation. The reputation you have built on your sending IPs is the asset worth protecting, so a proper migration runs KumoMTA in parallel with PowerMTA first, sending a small slice of traffic — five to ten percent on a canary path — while the main domain reputation stays untouched. Throughput, latency, deferral, and bounce categorization are compared against PowerMTA until parity is proven, then traffic ramps gradually from ten to fifty to ninety to a hundred percent over about two weeks. Done this way, the move is invisible to mailbox providers. Postmark migrated its entire PowerMTA estate to KumoMTA this way and kept sixteen years of reputation intact.

What is Lua, and does my team have to learn it?

Lua is the scripting language KumoMTA uses for configuration instead of a static file — your settings become code that executes, which is what gives KumoMTA its programmability. It is one of the easier languages to learn; Cisco and Adobe Lightroom embed it for the same reason, and a simple conditional in a KumoMTA policy is readable even if you have never written Lua. That said, the learning curve is real and it is the honest reason some teams hesitate: writing and debugging policy, traffic-shaping rules, and bounce classifiers is a genuine upfront investment. A managed migration removes that requirement — we write and operate the Lua so your team does not have to learn it to keep sending.

How long does a managed PowerMTA to KumoMTA migration take?

Weeks, not days, and that honesty matters more than a fast-sounding number. A typical engagement runs in phases: configuration translation in the first weeks — virtual-MTAs to egress sources, retry intervals to traffic shaping, bounce rules to Lua classifiers — then a shadow deployment carrying a small canary share, then a progressive cutover ramping traffic over about two weeks, then decommissioning PowerMTA with a cold standby kept for a month as insurance. The exact length depends on how intricate your existing pmta.conf is and how many domains and streams you run. Anyone promising a same-week migration of a real production estate is describing a rollback waiting to happen.

Do I keep my own sending IPs through the migration?

Yes — the IPs and the reputation built on them are the asset the staged cutover exists to protect, so they carry through the move rather than being replaced. KumoMTA sends from the same dedicated IPs your PowerMTA setup used; the shadow-and-canary sequence is designed so mailbox providers see no change in the sending identity, only in the engine behind it. The years of reputation carry across untouched, the way Postmark kept sixteen of them.

When should I not migrate to KumoMTA?

When the move would cost more than it returns, and there are real cases. If you send well above five million messages a day and depend on SLA-backed enterprise support from an established partner network, PowerMTA's mature services ecosystem may be worth its license. If your team has deep PowerMTA expertise, no appetite for Lua, and no plans to run the new engine themselves, an unmanaged migration can leave you worse off — there are documented cases of teams reversing back to PowerMTA when Lua complexity outweighed the license savings. The managed path exists precisely to resolve that tension: you get KumoMTA's economics and architecture without owning the Lua operations. But if none of the reasons to move apply to you, the honest answer is to stay on PowerMTA.

Keep the engine open-source. Let us handle the move and the Lua.

Send us your current pmta.conf scope — domains, streams, volume, and what is driving the move. We'll map the migration honestly, tell you whether it's worth it for your case, and if it is, run the remapping and the cutover with your reputation protected the whole way.

Book infrastructure review