Configuration Guide: Powermta

log-format-extended "/var/log/powermta/delivery.log" "%t %d %S %p %r" bounce-log "/var/log/powermta/bounce.log"

adaptive-max-smtp-out yes adaptive-soft-bounce-limit 10 # Reduce conns if 10 soft bounces/min adaptive-backoff-interval 5m <source-pool 192.168.1.0/28> # 16 IPs random-ip yes max-smtp-out 1000 </source-pool> <virtual-mta rotating> source-pool 192.168.1.0/28 dns-rotate yes </virtual-mta> 9. Common Pitfalls & Solutions | Problem | Likely Cause | Fix | |---------|--------------|-----| | All mail stuck in queue | DNS resolution fails | Check /etc/resolv.conf , increase dns-timeout | | High deferral rate | Throttling too aggressive | Increase max-smtp-out or max-msg-rate | | Bounce rate >10% | Poor list quality | Implement bounce suppression list | | PMTA stops accepting mail | Spool full or max-queue-size reached | Move spool to larger disk, increase max-queue-size | | Slow injection from MUA | No max-smtp-in limit | Set max-smtp-in 5000 | 10. Example: Production-Ready Config Snippet # /etc/powermta/powermta.conf smtp-port 25 max-smtp-in 5000 max-smtp-out 2000 queue-interval 2s max-delivery-attempts 6 memory-pool-max 4G <source 203.0.113.10> virtual-mta marketing max-smtp-out 200 use-starttls yes </source>

systemctl start powermta systemctl enable powermta | File | Purpose | |------|---------| | /etc/powermta/powermta.conf | Main configuration | | /etc/powermta/config.d/ | Include directory (modular configs) | | /etc/powermta/license.key | License file | | /var/log/powermta/ | Logs (delivery, bounce, error) | | /var/spool/powermta/ | Queue spool (persistent) | 4. Basic Configuration Directives 4.1 Global Settings # /etc/powermta/powermta.conf smtp-port 25 http-mgmt-port 8080 http-mgmt-interface 0.0.0.0 max-smtp-in 1000 max-smtp-out 1000 smtp-greeting "PowerMTA ESMTP" Queue management max-queue-size 10M # Maximum spool size queue-interval 5s # Dequeue sweep frequency max-delivery-attempts 5 # Per recipient 4.2 Source (Binding) IPs Define which IPs PMTA will use to send mail. powermta configuration guide

http-mgmt-port 8080 http-mgmt-interface 127.0.0.1 Always validate config before reload:

Check stats via API:

<source 192.168.1.10> # Warm-up schedule (day 1-30) max-msg-rate 100/h max-smtp-out 5 <schedule warmup> from 00:00 to 23:59 for 1d max-msg-rate 100/h from 00:00 to 23:59 for 3d max-msg-rate 500/h from 00:00 to 23:59 for 7d max-msg-rate 2000/h from 00:00 to 23:59 for 14d max-msg-rate 10000/h from 00:00 to 23:59 for 30d max-msg-rate 30000/h </schedule> </source> 6.1 DKIM Signing <domain example.com> dkim-sign yes dkim-selector mail dkim-key /etc/powermta/keys/example-dkim.key dkim-headers "From:Subject:Date:To" </domain> Generate key:

<virtual-mta marketing> bounce-log /var/log/powermta/bounce.log dns-timeout 60 <domain gmail.com> max-smtp-out 20 max-msg-rate 5000/h </domain> <domain *> max-smtp-out 5 max-msg-rate 100/h </domain> </virtual-mta> log-format-extended "/var/log/powermta/delivery

<domain gmail.com> max-smtp-out 20 # Concurrent connections to Gmail max-msg-rate 1000/h # Messages per hour use-starttls yes require-starttls no </domain> <domain yahoo.com> max-smtp-out 15 max-msg-rate 800/h </domain>

Start & enable: