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.
<bounce-handler bounces@example.com> command /usr/local/bin/process-bounce.php max-rcpts 100 </bounce-handler> Add to source: powermta configuration guide
<domain aol.com> max-smtp-out 10 max-msg-rate 100/h </domain> DKIM Signing <domain example.com> dkim-sign yes dkim-selector myselector dkim-key-file /etc/pmta/dkim/example.com.pem </domain> Generate DKIM key: pmta check config # Validate syntax pmta reload
<domain *> max-smtp-out 20 max-msg-rate 1000/h max-msg-per-connection 10 use-starttls yes </domain> <bounce-handler bounces@example.com> command /bin/cat >> /var/log/pmta/bounces.log </bounce-handler> Logging <acct-file /var/log/pmta/acct.csv> record job,vmta,domain,rcpts,status,dsn-status,time roll daily </acct-file> 16. Restart & Verify After config changes: <bounce-handler bounces@example
<virtual-mta ip1> source-ip 192.0.2.1 max-smtp-out 5 max-msg-rate 500/h </virtual-mta> <virtual-mta ip2> source-ip 192.0.2.2 max-smtp-out 10 max-msg-rate 1000/h </virtual-mta>
<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:
