File ~repack~ | Sample Powermta Configuration
source-address 192.0.2.20 virtual-mta gmail-pool source-address
# Require authentication for relaying auth-require true auth-scheme LOGIN auth-source file /etc/pmta/auth.db sample powermta configuration file
feedback-loop { process-fbl yes fbl-address fbl@example.com fbl-action remove # Auto-suppress complained addresses fbl-suppression 90d } IP Reputation & Blacklist Checks --------------------------- Note: Requires subscription to a DNSBL service. dnsbl zen.spamhaus.org { reject-message "Your IP is blacklisted - see spamhaus.org" reject-on-failure yes timeout 5s } Whitelist trusted IPs (e.g., internal mail relays) access-rule whitelist-intranet allow 10.0.0.0/8 access-rule whitelist-intranet allow 172.16.0.0/12 --------------------------- Logging & Monitoring --------------------------- log-format extended { format "[%d] %t %r %s %p %i %b %e %c %h" } log-domain-stats { interval 1h file /var/log/pmta/domain-stats.csv domains all } log-connections { file /var/log/pmta/conn.log max-size 100M rotations 10 } log-errors { file /var/log/pmta/errors.log level warn } --------------------------- Resource Limits --------------------------- smtp-server { max-connections 500 max-clients 200 queue-size 500000 memory-limit 2G disk-limit 50G } --------------------------- Queue Management --------------------------- queue { max-size 2000000 max-age 7d delivery-interval 5s retry-interval 5m,15m,30m,1h,2h,4h,8h,12h,1d dead-letter-expire 30d tempfail-retries 8 } --------------------------- Source Binding (Multi-IP Sending) --------------------------- source-address 192.0.2.10 # This IP belongs to hotmail-pool virtual MTA # and also used for generic outbound source-address source-address 192
virtual-mta bulk-low-priority smtp-service outbound source-ip 192.0.2.30 max-smtp-out 5 max-msg-rate 5000/h throttle-delay 100ms # Inject delay per message virtual-mta Outbound SMTP Service --------------------------- smtp-service outbound type outbound max-smtp-out 100 # Global cap across all vMTAs max-msg-rate 100000/h max-conn-per-domain 20 bounce-handler http://localhost:8080/bounce # HTTP bounce processor feedback-loop-handler http://localhost:8080/fbl use-starttls yes require-tls false dns-timeout 15s resolve-command /usr/bin/dig +short smtp-service --------------------------- Domain & ISP Specific Rules --------------------------- Fine-tune for major receivers to avoid rate limits and blacklisting. domain-mapping * { # Default for all domains max-smtp-out 10 max-msg-rate 10000/h max-conn-per-domain 5 throttle-startup 10 throttle-inc-interval 10s } and resources to your environment.
# Custom throttles for ISP reputation domain-throttle hotmail.com max-msg-rate 10000/h max-conn 15 domain-throttle outlook.com max-msg-rate 10000/h max-conn 15 domain-throttle live.com max-msg-rate 8000/h max-conn 10 virtual-mta
(For High-Volume Production Email Delivery) # ------------------------------------------------------------------- # PowerMTA Configuration File - Sample for High-Volume Email Delivery # ------------------------------------------------------------------- # Version: 4.5+ # Purpose: Production-ready configuration with deliverability tuning # Notes: Adjust paths, IPs, domains, and resources to your environment. # ------------------------------------------------------------------- --------------------------- Global Process Directives --------------------------- process-id-file /var/run/powermta/pmta.pid spool-directory /var/spool/pmta log-directory /var/log/pmta max-smtp-out 100 # Max concurrent outbound connections (all MTAs) max-errors-per-domain 10 # Failures before marking domain dead max-errors-per-recipient 3 domain-error-expiration 30m # Retry dead domain after 30 minutes recipient-error-expiration 30m --------------------------- SMTP Service (Inbound) --------------------------- smtp-service port 25 access-source config # Use IP-based rules below access-rule allow 127.0.0.1 access-rule allow 192.168.1.0/24 access-rule deny all
# Optional: listen on multiple interfaces interface 0.0.0.0 max-message-size 50M log-connections yes log-session no dns-timeout 10s idle-timeout 300s max-recipients 1000 max-failures 20 soft-bounce-limit 5 slow-start yes slow-start-initial 10 slow-start-max 100 slow-start-period 30s smtp-service Virtual MTA (vMTA) Definitions --------------------------- Each vMTA can have separate IP pools, throttles, and sending profiles. virtual-mta hotmail-pool smtp-service outbound source-ip 192.0.2.10 192.0.2.11 192.0.2.12 # Rotate source IPs max-smtp-out 30 max-msg-rate 20000/h # Soft throttle max-msg-rate-per-connection 10 connect-timeout 30s idle-timeout 60s use-starttls yes require-tls false dns-timeout 10s