Powermta Configuration Guide Top
The most powerful feature of PowerMTA is the ability to create VirtualMTAs. These allow you to manage multiple sending domains or clients on a single physical server, isolating their reputations.
<domain gmail.com>
max-smtp-out 20 # Gmail limits concurrency per IP.
max-msg-rate 10/s # Respect Google's rate limits.
max-msg-per-connection 50
use-starttls always # Force TLS for security.
require-starttls true
dns-timeout 15s
initial-pts 30
max-pts 3600
pts-expiration 5m
# Feedback loop support
dsn true
</domain>
Modern PowerMTA setups often use the HTTP API for better throughput and easier integration than SMTP.
<http-listener 8080>
access-group admin-users
# Enable REST API
accept-x-mailer-header true
</http-listener>
<http-user admin>
password "encrypted-password-here"
</http-user>
<virtual-mta main>
ip 203.0.113.10
ip 203.0.113.11
max-smtp-out 250
max-msg-rate 50/s
</virtual-mta> powermta configuration guide top
PowerMTA (Port25) is the industry standard for high-performance email delivery. Unlike standard MTAs (like Postfix or Sendmail), PowerMTA is built specifically for commercial sending, offering granular control over connection handling, throttling, and feedback loops.
However, installing the software is only the first step. A default configuration will rarely yield optimal results. This guide covers the top configuration priorities to transform a basic installation into a deliverability powerhouse. The most powerful feature of PowerMTA is the
Bindings connect a VMTA to a domain with specific rules:
<bind source-vmta="gmail-ip1" destination-domain="gmail.com">
source-interface 192.0.2.10
max-smtp-out 20
max-smtp-out-per-ip 4
<dkim>
sign yes
selector 2024
domain senderdomain.com
key-file /etc/pmta/dkim/sender.key
</dkim>
</bind>
<bind source-vmta="yahoo-ip2" destination-domain="yahoo.com">
source-interface 192.0.2.11
max-smtp-out 15
max-smtp-out-per-ip 3
</bind>
Modern PowerMTA setups often use the HTTP API
Advanced binding trick – warmup IPs:
<bind source-vmta="warmup-ip1" destination-domain="*">
source-interface 192.0.2.100
max-smtp-out 5
<limits>
throttle 100/hour
max-messages-per-connection 10
</limits>
</bind>