Email Deliverability Best Practices
Deliverability is the percentage of your emails that reach the inbox rather than the spam folder or a bounce. Running your own mail server gives you full control over your sending reputation, but it also means you are responsible for maintaining it. This guide covers everything you need to know.
The deliverability stack
Section titled “The deliverability stack”Deliverability depends on multiple layers working together:
| Layer | What it covers | Impact |
|---|---|---|
| DNS authentication | SPF, DKIM, DMARC, PTR | Pass/fail gate — without these, most mail is rejected |
| IP reputation | Warmup, volume consistency, RBL status | Determines initial filtering decisions |
| Domain reputation | Complaint rates, bounce rates, engagement | Long-term sending health |
| Content quality | Subject lines, formatting, links, attachments | Affects spam scoring |
| Recipient engagement | Opens, clicks, replies, time-in-inbox | Strongest positive signal for inbox placement |
| Infrastructure | TLS, valid certificates, correct headers | Baseline hygiene checks |
DNS authentication
Section titled “DNS authentication”This is the non-negotiable foundation. Every domain on your Vectis server must have:
Declares your server IP as an authorised sender.
example.com. IN TXT "v=spf1 mx a ip4:203.0.113.10 -all"Cryptographic signature on every outgoing message. Vectis auto-generates DKIM keys when you add a domain. Publish the record from the dashboard.
202604._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBg..."Ties SPF and DKIM together with a policy and reporting address.
_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; fo=1"PTR (reverse DNS)
Section titled “PTR (reverse DNS)”Your server IP must have a PTR record that resolves to your mail hostname. Set this at your VPS provider. Many receiving servers reject mail from IPs without a valid PTR record.
# Verify your PTR recorddig -x 203.0.113.10 +short# Should return: mail.example.com.For a detailed walkthrough, see DKIM, SPF & DMARC configuration.
Vectis deliverability checker
Section titled “Vectis deliverability checker”Run a complete check from the CLI or API:
vectis domain check example.comThis validates SPF, DKIM, DMARC, PTR, MX records, and TLS configuration in a single command. The dashboard shows persistent green/yellow/red status indicators for each domain.
IP reputation
Section titled “IP reputation”New IPs need warmup
Section titled “New IPs need warmup”If your server uses a fresh IP address, you must warm it up gradually. Vectis has a built-in 30-day warmup schedule that starts at 50 messages per day and ramps to 200,000. See IP warmup for new servers for the full guide.
Volume consistency
Section titled “Volume consistency”Sudden spikes in sending volume trigger spam filters. If you normally send 1,000 emails per day and suddenly send 50,000, receivers will flag the spike as suspicious. Increase volume gradually, even after warmup is complete.
RBL monitoring
Section titled “RBL monitoring”Real-time Blackhole Lists (RBLs) are blocklists of IP addresses that have been reported for sending spam. Being listed on even one major RBL can devastate your deliverability.
Vectis monitors your server IP against major RBLs automatically:
# Check RBL status via APIcurl https://mail.example.com/api/v1/deliverability/rbl \ -H "Authorization: Bearer YOUR_TOKEN"
# Trigger an immediate checkcurl -X POST https://mail.example.com/api/v1/deliverability/rbl/check \ -H "Authorization: Bearer YOUR_TOKEN"The RBLs checked include:
| RBL | Significance |
|---|---|
| Spamhaus ZEN | Most widely used; listing here blocks delivery to most major providers |
| Barracuda BRBL | Used by many corporate mail servers |
| SpamCop | Complaint-driven; listings usually auto-expire |
| SORBS | Tracks dynamic/residential IPs and open relays |
| CBL | Tracks IPs sending spam from botnets |
If you find yourself listed, the Vectis dashboard provides a link to the delisting page for each RBL.
Maintaining IP reputation
Section titled “Maintaining IP reputation”- Never send unsolicited email
- Process bounces promptly (see below)
- Keep complaint rates below 0.1%
- Monitor RBL status daily (Vectis does this automatically)
- Avoid sharing your IP with untrusted senders
Bounce handling
Section titled “Bounce handling”Bounces are messages that could not be delivered. There are two types:
Hard bounces
Section titled “Hard bounces”Permanent failures: the address does not exist, the domain is invalid, or the recipient server permanently rejected the message.
Action required: Remove the address immediately. Continuing to send to addresses that hard bounce signals to providers that you do not maintain your lists.
Soft bounces
Section titled “Soft bounces”Temporary failures: mailbox full, server temporarily unavailable, rate limiting during warmup.
Action required: Retry automatically (Postfix handles this). If the same address soft bounces consistently across multiple attempts over several days, treat it as a hard bounce and remove it.
Vectis bounce processing
Section titled “Vectis bounce processing”Vectis processes bounces automatically:
- Postfix receives the DSN (Delivery Status Notification) bounce message
- The bounce is logged and associated with the original outbound message
- Hard bounces are flagged in the deliverability metrics
- The dashboard shows bounce rates per domain
Monitor your bounce rate via the API:
curl https://mail.example.com/api/v1/domains/DOMAIN_ID/deliverability \ -H "Authorization: Bearer YOUR_TOKEN"Target: Keep your hard bounce rate below 2%. During warmup, aim for below 1%.
Feedback loop (FBL) processing
Section titled “Feedback loop (FBL) processing”When a recipient marks your message as spam in their email client, the recipient’s provider can send a complaint report back to you via a Feedback Loop. Major providers (Gmail via Postmaster Tools, Microsoft via JMRP, Yahoo via CFL) offer FBL programs.
How FBL works in Vectis
Section titled “How FBL works in Vectis”Vectis records FBL complaints and links them to the original message and domain:
# View recent FBL complaintscurl https://mail.example.com/api/v1/deliverability/fbl \ -H "Authorization: Bearer YOUR_TOKEN"
# Filter by domaincurl "https://mail.example.com/api/v1/deliverability/fbl?domain_id=DOMAIN_ID" \ -H "Authorization: Bearer YOUR_TOKEN"Each complaint includes:
- The reporter domain (which provider sent the complaint)
- The complaint type
- A link to the original message (if identifiable)
- Timestamp
Acting on FBL complaints
Section titled “Acting on FBL complaints”- Remove the complainant from all future mailings immediately
- Investigate if you see a spike in complaints — check message content, list source, and sending patterns
- Target: Keep your complaint rate below 0.1% (1 complaint per 1,000 messages)
Content best practices
Section titled “Content best practices”Spam filters analyse message content in addition to sender reputation. Follow these guidelines:
Subject lines
Section titled “Subject lines”- Avoid ALL CAPS, excessive punctuation (!!!), and spammy phrases (“FREE”, “ACT NOW”, “Limited time”)
- Keep subject lines clear and relevant to the message body
- Personalise where possible
Message body
Section titled “Message body”- Include a plain text version alongside HTML (Vectis API supports both
text_bodyandhtml_body) - Maintain a reasonable text-to-image ratio — do not send image-only emails
- Include your physical mailing address in marketing emails (CAN-SPAM, GDPR)
- Always include an unsubscribe link in marketing/bulk emails
Links and domains
Section titled “Links and domains”- All links should point to domains you own and control
- Avoid URL shorteners (bit.ly, tinyurl) — spam filters view them with suspicion
- Make sure linked domains have valid TLS certificates
- Do not use IP addresses as link targets
Attachments
Section titled “Attachments”- Avoid executable attachments (.exe, .bat, .scr) — they will be blocked
- PDF, image, and document attachments are generally safe
- Large attachments increase spam scores — use download links instead when possible
List hygiene
Section titled “List hygiene”Maintain clean recipient lists:
Acquisition
Section titled “Acquisition”- Use confirmed opt-in (double opt-in) for mailing lists
- Never buy, rent, or scrape email lists
- Record when and how each address opted in (consent audit trail)
Ongoing maintenance
Section titled “Ongoing maintenance”- Remove hard bounces immediately
- Remove addresses that have not engaged in 6+ months
- Process unsubscribe requests within 24 hours
- Regularly validate addresses with an email verification service
Sunset policy
Section titled “Sunset policy”Establish a sunset policy for inactive subscribers. If a recipient has not opened or clicked any email in 90-180 days, move them to a re-engagement segment. If re-engagement fails, remove them.
Monitoring deliverability
Section titled “Monitoring deliverability”Google Postmaster Tools
Section titled “Google Postmaster Tools”If you send to Gmail recipients, register your domain at postmaster.google.com. Google provides:
- Domain and IP reputation ratings
- Spam rate (percentage of your mail marked as spam by recipients)
- Authentication results (SPF, DKIM, DMARC pass rates)
- Delivery errors
This is the single most valuable external monitoring tool for deliverability.
Microsoft SNDS
Section titled “Microsoft SNDS”For Outlook/Hotmail recipients, register at sendersupport.olc.protection.outlook.com/snds for:
- IP reputation status (green, yellow, red)
- Trap hit rates
- Complaint rates
Testing tools
Section titled “Testing tools”| Tool | Purpose | URL |
|---|---|---|
| mail-tester.com | Overall deliverability score | mail-tester.com |
| MXToolbox | DNS record validation, blacklist check | mxtoolbox.com |
| Gmail “Show Original” | View authentication results for a specific message | (within Gmail) |
| Vectis domain check | Built-in DNS and authentication validation | vectis domain check |
The deliverability checklist
Section titled “The deliverability checklist”Use this checklist when setting up a new domain on Vectis:
- SPF record published with your server IP and
-all - DKIM record published with the key from the Vectis dashboard
- DMARC record published (start with
p=none, progress top=reject) - PTR record set at your VPS provider, matching your mail hostname
- MX record pointing to your mail hostname
- A record for your mail hostname pointing to your server IP
- TLS certificate valid and not expiring soon
- IP warmup started (if this is a new IP)
-
vectis domain checkshows all green - Test email received in inbox (not spam) at Gmail, Outlook, and Yahoo
- Google Postmaster Tools registered
- RBL status clean
Next steps
Section titled “Next steps”- DKIM, SPF & DMARC configuration for detailed authentication setup
- IP warmup for new servers for the 30-day warmup guide
- Cloudflare integration for DNS management with Cloudflare
- Troubleshooting for diagnosing delivery failures