<virtual-mta domain-specific> bind-to-source-ip 192.168.1.100 <domain example.com> max-smtp-out 10 </domain> <domain gmail.com> max-smtp-out 20 route alt4.gmail-smtp-in.l.google.com:25 </domain> </virtual-mta> <domain yahoo.com> max-smtp-out 2 # total connections max-smtp-out-per-ip 1 # per destination IP smtp-pipeline-depth 5 # pipelined commands delivery-interval 10 # seconds between connection attempts 5. Routing & Failover Domains Smart host routing:
| Directive | Purpose | Example | |-----------|---------|---------| | max-smtp-out | Max concurrent outbound connections to this domain | max-smtp-out 5 | | smtp-port | Override default port (25) | smtp-port 587 | | route | Force traffic through a specific smart host | route smtp.relay.com | | resolve-to | Rewrite destination MX lookup | resolve-to 10.0.0.1 | | max-message-size | Max email size for this domain | max-message-size 25M | | require-rdns | Require reverse DNS for incoming connections | require-rdns yes | | dkim-sign | Enable DKIM signing for this domain (see below) | dkim-sign yes | | tls | Enforce TLS | tls required | PowerMTA signs emails per domain using domain-key files. powermta domain detail
This covers the essential domain-level configuration in PowerMTA. For a specific use case (e.g., Gmail, Yahoo, custom smart host), the route , max-smtp-out , and DKIM settings become most critical. <virtual-mta domain-specific> bind-to-source-ip 192
PowerMTA (PMTA) treats domains as critical routing and policy endpoints. Unlike generic MTAs, PMTA separates the envelope domain (SMTP conversation) from the policy domain (rules). These are set within a <domain> block or global defaults. <domain> example.com ... Defines a specific domain configuration block. All settings inside apply only to this recipient domain. For a specific use case (e
<domain mylocal.com> local yes mailbox-command /usr/bin/procmail </domain> Enable domain-specific logging in <source> or global log-domain :
<domain example.com> log-entries yes accounting-log /var/log/pmta/acct-example.csv </domain> Use pmta show domain commands:
log-domain /var/log/pmta/domains/%d.log # %d expands to domain name Then within <domain> :