Powermta Configuration Guide: High Quality
<source 127.0.0.1> return-path bounce@example.com </source> PowerMTA captures DSNs and can route bounces to a local script or mailbox.
<source 10.0.0.5> default-virtual-mta transactional </source> Or via X-VMTA header injected by the sending application. Bind source IPs and optionally use SMTP authentication for injection: powermta configuration guide
#!/bin/bash while read line; do echo "$line" >> /var/log/pmta/bounces.log done PowerMTA provides CSV accounting logs for analysis. <source 127
<domain *> max-msg-per-connection 20 max-rcpts-per-message 100 </domain> Use multiple virtual MTAs with increasing limits: Always test with low volume first, especially for
pmta status | File | Purpose | |------|---------| | /etc/pmta/config | Main configuration | | /etc/pmta/license | License key | | /etc/pmta/vmta | Virtual MTA definitions | | /etc/pmta/pmta.conf (alternative) | Some versions use this | 4. Basic Configuration Skeleton ( /etc/pmta/config ) # Global settings <source 0.0.0.0/0> always-allow-relay yes process-x-forwarded-for no require-auth no default-virtual-mta main </source> Pickup from local submission <source 127.0.0.1> process-x-forwarded-for yes default-virtual-mta main </source> Main virtual MTA (delivery) <virtual-mta main> queue-type FIFO max-smtp-out 100 max-msg-rate 1000/m </virtual-mta> Domain-specific delivery <domain *> max-smtp-out 20 max-msg-rate 500/h max-msg-per-connection 10 use-starttls yes require-starttls no </domain> Logging <acct-file /var/log/pmta/acct.csv> record job,vmta,domain,bytes,msgs,rcpts,status,dsn-status,orig-rcpts,time </acct-file>
pmta check config # Validate syntax pmta reload # Graceful reload pmta restart # Full restart tail -f /var/log/pmta/pmta.log PowerMTA is powerful but requires careful tuning. Start with conservative throttles, monitor bounce logs, adjust domain stanzas based on ISP feedback, and use virtual MTAs to separate traffic types. Always test with low volume first, especially for new IPs/domains.
<virtual-mta transactional> vmta-name transactional source-ip 192.0.2.10 max-smtp-out 50 max-msg-rate 10000/h queue-type FIFO </virtual-mta> <virtual-mta marketing> vmta-name marketing source-ip 192.0.2.20 max-smtp-out 200 max-msg-rate 50000/h queue-type FIFO </virtual-mta>