Configuration File Hot: Sample Powermta
This draft includes essential blocks for Virtual MTAs , Domain Throttling , and Authentication to ensure your server stays in the "inbox" zone. # --- Basic Server Setup --- license-key "YOUR-LICENSE-KEY" host-name mail.yourdomain.com http-mgmt-port 8080 http-access 123.456.78.9 admin # Restrict web monitor to your IP # --- SMTP Listener --- smtp-listener 0/0:25 smtp-listener 0/0:587 # --- Virtual MTA Definition (The "Hot" IP) --- smtp-source-ip 1.2.3.4 host-name mail.yourdomain.com domain-key selector1, yourdomain.com, /etc/pmta/dkim.key # --- Global Throttle (Avoid "Blasting") --- max-msg-rate 500/h # Start slow for warmup max-smtp-out 20 # Parallel connections retry-after 10m # --- High-Priority Throttling (Gmail/Yahoo) --- max-msg-rate 10/m # Very strict for Gmail warmup max-conn-rate 2/m # --- Security & Relaying --- always-allow-relaying yes smtp-service yes log-connections yes log-commands no Use code with caution. Copied to clipboard 📝 Draft Post: "The Ultimate Hot PMTA Config" Headline: 📧 Stop Hitting Spam! The "Hot" PowerMTA Config You Need. Body: Setting up PowerMTA is easy; getting it right is where the magic happens. If you’re seeing high bounce rates or "Connection Refused" from Gmail, your configuration is likely too aggressive. I’ve put together a sample "Hot" Config that focuses on three critical pillars: Granular Throttling: Stop blasting. I’ve included specific rules for Gmail to keep your reputation intact. Virtual MTA Isolation: Properly mapping your IPs and DKIM keys to ensure every mail is authenticated. Security Essentials: Locking down your Web Monitor and relaying sources to prevent unauthorized use. Check out the snippet below for the core /etc/pmta/config structure! ⬇️ Pro Tip: Always monitor your PowerMTA Web Console during the first 24 hours of a new campaign to spot throttling issues in real-time. #EmailMarketing #PowerMTA #SMTP #Deliverability #GrowthHacking 🛠️ Key Files to Check Main Config: Typically found at /etc/pmta/config . Web Monitor: Access it via http://YOUR_IP:8080 to track live delivery. Testing: Use tools like UltraMailer or a simple terminal test to verify port 587 is open.
Sample PowerMTA Configuration — Hot Delivery Setup Below is a concise, production-ready example PowerMTA (PMTA) configuration focused on "hot" (high-throughput, reputation-conscious) email delivery. It includes global settings, listener(s), virtual MTAs, smart host routing, per-IP and per-domain throttling, bounce handling, and feedback loop/dkim/spf basics. Adjust names, IPs, domain, credentials, and limits for your environment. Example config (annotated) ; global settings pmta { max-deliveries-per-connection 20 max-delivery-threads 200 max-message-size 52428800 ; 50MB max-queued 200000 log-level info delivery-queue /var/spool/pmta/queue statistics true statistics-file /var/log/pmta/stats.log pid-file /var/run/pmta/pmta.pid } ; listeners (incoming/API) listener 25 { address 0.0.0.0 port 25 protocol smtp max-sessions 200 banner "220 mail.example.com ESMTP" } listener 587 { address 0.0.0.0 port 587 protocol submission starttls yes require-auth yes max-sessions 100 banner "220 mail.example.com Submission" } ; SMTP authentication (SASL) — example using local pluggable auth auth { method plain realm default lookup-file /etc/pmta/users.db } ; Virtual MTA (vMTAs) for IP/pool separation — create two pools: warm and hot virtual-mta hot-pool { ip 203.0.113.10 ip 203.0.113.11 max-senders-per-ip 50 smtp-source 203.0.113.10 max-messages-per-connection 20 max-sessions 400 delivery-rate 50000/minute ; throttle per pool (adjust to real limits) per-domain-sender-limit 5 } virtual-mta warm-pool { ip 203.0.113.20 ip 203.0.113.21 max-senders-per-ip 30 delivery-rate 20000/minute } ; Domain routing and pool assignment — route hot/high-priority campaigns via hot-pool domain hot.example.com { source hot-pool max-deliveries-per-domain 500 retry-queue-time 7d max-retries 5 timeout 3600 } domain default { source warm-pool } ; Smart host example (outbound relay for specific providers) host gmail-smtp { hostname smtp.gmail.com port 25 starttls yes max-sessions 50 route-groups 1 } ; Per-IP, per-domain, and per-recipient throttles — protect reputation throttle ip 203.0.113.10 { max-deliveries-per-minute 2000 max-concurrent-sessions 120 } throttle domain gmail.com { max-deliveries-per-minute 500 max-deliveries-per-connection 5 retry-window 1h } ; DKIM signing (using a key file per domain) dkim-domain example.com { domain example.com selector mail key-file /etc/pmta/dkim/example.com.mail.private.pem canonicalization relaxed/simple sign-headers From:To:Subject:Date:Message-ID } ; SPF alignment not configured in PMTA — ensure DNS SPF records exist for send IPs. ; Bounce handling and feedback loops bounce-domain bounces.example.com { address bounce-handler@example.com reject-non-retryable false max-bounces-per-hour 100 } feedback-loop { provider yahoo address abuse+yahoo@example.com action feedback-to-pipe pipe /var/spool/pmta/fbl/yahoo.pipe } ; Local delivery for bounces and incoming domain-local { mailbox /var/mail/%u alias-map /etc/aliases } ; Retry and backoff parameters (aggressive initial, exponential backoff) retry-interval 15m retry-backoff exponential max-retry-interval 4d ; Connection & timeouts smtp-timeout 120s queue-timeout 14d helo-retry 5 ; Logging & reporting log-path /var/log/pmta log-rotate 7 reporting { enabled true report-path /var/log/pmta/reports schedule daily } ; Anti-abuse and recipient validation remote-recipient-validation true reject-invalid-hostname true max-recipient-verify-per-second 50 ; Sample template for virtual-mta assignment by header/transaction routing-rule high-priority { condition header X-Priority equals 1 action use-virtual-mta hot-pool } ; End of example config Quick deployment checklist
Replace example IPs, domains, DKIM keys, and paths with your real values. Start with conservative delivery-rate and per-IP limits; ramp up slowly. Ensure DNS: PTR for each sending IP, SPF, DKIM, and (optionally) DMARC. Monitor logs and opening/rejection patterns; adjust per-recipient and per-domain throttles. Handle bounces and FBLs automatically and suppress hard bounces. Use reputation-friendly warm-up: gradually increase volume per IP over weeks.
Notes and best practices
Separate transactional vs. bulk via vMTAs to protect critical flows. Use different IP pools by campaign quality and reputation. Track engagement and suppress low-engagement segments. Respect provider-specific limits (Gmail/Yahoo/Microsoft) via per-domain throttles. Keep DKIM keys secure and rotate periodically.
If you want, I can:
produce a cleaned runnable pmta.conf with your real IPs/domains/DKIM keys, or generate a step-by-step warm-up schedule for the hot-pool IPs. sample powermta configuration file hot
Related search suggestions provided.
It includes sending domains , IPs , authentication , DKIM signing , bounce/feedback loop handling , and resource limits typical for high‑volume email delivery.
Note: Replace placeholders (like your-ip , your-domain.com , your-dkim-selector ) with your actual values. This draft includes essential blocks for Virtual MTAs
# ==================== # PowerMTA Sample Config (Hot / Production) # ==================== Global Settings <source 127.0.0.1> process-x-forwarded-for yes always-allow-relaying yes max-message-size 50M smtp-service port 25 </source> General Tuning max-smtp-out 100 smtp-port 25 smtp-service port 25 smtp-connection-timeout 60s smtp-command-timeout 120s smtp-data-timeout 300s max-smtp-in 500 max-smtp-out 2000 max-queue-size 200M queue-type dir queue-dir /var/spool/pmta/queue log-dir /var/log/pmta DNS Settings dns-timeout 10s dns-retries 2 dns-servers 8.8.8.8 8.8.4.4 Bounce Handling bounce-handler bounce@your-domain.com bounce-domain bounce.your-domain.com bounce-pattern /etc/pmta/bounce_patterns.txt bounce-tag bounces Feedback Loop (FBL) fbl-handler abuse@your-domain.com fbl-domain fbl.your-domain.com DKIM Signing <domain *> dkim-sign yes dkim-signature dkim dkim-identity mail.your-domain.com dkim-key-file /etc/pmta/dkim/your-domain.com.pem dkim-selector your-dkim-selector dkim-headers "From:Subject:To:Date" </domain> IP & Domain Pool (Hot IPs) <source 192.0.2.10> process-x-forwarded-for no always-allow-relaying no allow-queueing yes log-connections yes </source> <source 192.0.2.11> same-as 192.0.2.10 </source> Throttling & Delivery Rules <domain hotmail.com> max-smtp-out 10 max-msg-rate 20/s use-rs yes use-plaintext yes smtp-pipelining yes smtp-starttls required </domain> <domain gmail.com> max-smtp-out 15 max-msg-rate 30/s use-rs yes smtp-starttls required </domain> <domain yahoo.com> max-smtp-out 8 max-msg-rate 15/s smtp-starttls required </domain> Default domain rule <domain *> max-smtp-out 25 max-msg-rate 50/s max-recipients-per-msg 1000 use-rs yes smtp-starttls if-supported vmta default-vmta </domain> Authentication (SMTP AUTH for sending) <vmta default-vmta> smtp-auth plain login auth-username smtp-user auth-password s3cr3t source 192.0.2.10 max-msg-rate 100/s max-smtp-out 50 </vmta> Logging <log access> file /var/log/pmta/access.log format "date time msgid from to size relay status" rotate 1d compress yes </log> <log debug> file /var/log/pmta/debug.log rotate 1d max-size 500M level 3 </log> Custom Headers (optional tracking) <add-header *> X-PMTA-Source ${source} X-PMTA-VMTA ${vmta} </add-header>
Quick Explanation of “Hot” Settings | Setting | Purpose | |---------|---------| | max-smtp-out / max-msg-rate | Controls sending speed per ISP (Hotmail, Gmail, Yahoo). | | smtp-starttls required | Forces TLS for better deliverability. | | dkim-sign yes | Adds DKIM signature to avoid spam folders. | | bounce-handler / fbl-handler | Handles bounces and abuse complaints automatically. | | dns-servers 8.8.8.8 | Fast, reliable DNS for MX lookups. | | use-rs | Enables recipient verification (RSET before DATA). |