For enterprise setups managing thousands of IP addresses and domains, keeping everything in a single file makes maintenance impossible. PowerMTA allows you to clean up your root configuration by linking external files using the include directive.
The <source> tag groups settings for clients connecting from a specific IP address, range, or hostname. You can grant relaying privileges, set message size limits, or force encryption.
smtp-source-ip 192.168.1.105 domain-key dkim, yourdomain.com, /etc/pmta/keys/yourdomain.pem Use code with caution. 5. Domain Directives: Linking ISP Volume and Throttle Rules
/etc/pmta/ ├── config # Main entry point ├── global/ │ ├── 00-smtp-defaults.conf │ └── 10-logging.conf ├── vmtas/ │ ├── vmta-transactional.conf │ └── vmta-marketing.conf ├── domains/ │ ├── gmail.com.conf │ ├── yahoo.com.conf │ └── internal-corp.conf └── bindings/ ├── pool-1.conf └── pool-2.conf
Use a cron job or a webhook on your PMTA servers to pull updates automatically. powermta config file link
# Relay Settings relay_host = smtp.example.net relay_port = 25 relay_auth = yes relay_username = username relay_password = password
The main sections of the PowerMTA config file include:
smtp-listener 0.0.0.0:2525 # Listen on all IPs at port 2525 always-allow-relaying yes process-x-virtual-mta yes Use code with caution. 4. Domain Throttling (The Secret to Inbox Placement)
Virtual MTAs allow you to segment your email traffic and assign specific IP addresses to different pools. For enterprise setups managing thousands of IP addresses
When administrators talk about "linking" a config file, they are usually referring to one of two things:
<domain *> bounce-to postmaster@yourdomain.com retry 5m 15m 1h 4h 1d </domain>
dkim-sign yes dkim-key /etc/pmta/dkim/key.mar2026.private mar2026 yourdomain.com Use code with caution. Points directly to your private key file. Selector: mar2026 matches the DNS TXT record selector. Domain: The signing domain identity. Troubleshooting Common Configuration Errors
If the syntax check returns clean, reload the configuration without stopping the daemon: pmta reload Use code with caution. You can grant relaying privileges, set message size
Your email-sending application can then select which vMTA to use by setting a special header ( X-virtualMTA ), directing transactional and marketing traffic through different sets of IP addresses.
After editing, use the command pmta debug to check for syntax errors before restarting.
Using this modular approach keeps your main configurations static while allowing scripts to dynamically update IP pools or domain throttling rules. Core Components of a PowerMTA Configuration File
Are you managing a or a large pool of Virtual MTAs?
If Postfix is running, disable it using systemctl stop postfix so PowerMTA can claim the port. 3. Permissions Checklist
# Domain Settings domain example.com description = "Example Domain" email_address = postmaster@example.com password = secret