Powermta Configuration Guide Top -
| Problem | Cause | Fix |
|---------|-------|-----|
| High deferrals at Gmail | Too many connections per IP | Set max-smtp-out-per-ip 4 |
| Bounce rate >5% | Poor list hygiene | Enable bounce classification + auto-suppression |
| Low throughput | DNS blocking | Use dns-server 8.8.8.8 and dns-workers 16 |
| IP blacklisting | Spikes in volume | Use <limits throttle X/hour> with gradual warmup |
| No DKIM signature | Binding not linked | Verify dkim in VMTA and sign yes in binding |
Use patterns to delay retries intelligently.
<smtp-pattern 4xx>
pattern ^4[0-9]2
initial-pts 60
max-pts 3600
</smtp-pattern>
PMTA operates on three core concepts:
Rule of thumb: One binding = one IP + one destination domain + one set of sending rules. powermta configuration guide top
Throttling protects you from being blacklisted. Configure per-domain policies:
<domain *> # Default for all domains max-msg-per-connection 100 max-errors-per-domain 5 idle-timeout 120 </domain><domain gmail.com> max-msg-per-hour 200000 # Respect Gmail's limits max-msg-rate 50/second # Slower warmup dns-timeout 45 use-starttls yes # Always TLS if available </domain>
<domain yahoo.com> max-msg-per-hour 150000 max-msg-rate 40/second dns-timeout 60 bounce-pattern-file /etc/pmta/bounce_patterns/yahoo.ptr </domain> | Problem | Cause | Fix | |---------|-------|-----|
<domain microsoft.com> # Outlook/Hotmail max-msg-rate 20/second # Very strict max-msg-per-hour 50000 # Use their smart host for better delivery smtp-route mail.protection.outlook.com </domain>
Pro tip: Use a warmup schedule for new IPs. Start with max-msg-rate 5/second on new domains, increase by 10% daily. PMTA operates on three core concepts:
Where messages wait when RAM is full.
disk-queue /var/spool/powermta # Ensure this is on a fast SSD, not HDD.
PowerMTA excels at processing complaints. You must configure the acct-file to handle bounces and FBL reports automatically.
# Configure the accounting file to log bounces and FBLs
<acct-file /var/log/pmta/acct.csv>
# Possible values: bounces, feedback, delivered, etc.
record bounces,feedback
max-size 100M
rotate 5
</acct-file>
Why it matters: Without this, you will continue sending to users who have complained or whose addresses are invalid, destroying your sender reputation.
Before going live: