Overview
Sending email from your server is easy — getting it delivered to inboxes instead of spam folders is the challenge. Follow these best practices to maximize deliverability.
Authentication Records
These are non-negotiable for deliverability:
- SPF — authorize your server's IP to send email for your domain
- DKIM — cryptographically sign outgoing messages
- DMARC — tell receivers how to handle authentication failures
- PTR — reverse DNS must resolve to your mail server hostname
IP Reputation
- Check if your IP is on any blocklists:
mxtoolbox.com/blacklists.aspx - New IPs need "warming up" — start by sending small volumes and gradually increase
- Avoid sending from shared IPs if possible
- Monitor bounce rates — high bounces damage reputation
Content Best Practices
- Include both HTML and plain text versions
- Avoid spam trigger words ("free", "urgent", "act now")
- Include a valid unsubscribe link in marketing emails
- Keep HTML clean — avoid excessive images or JavaScript
- Use a recognizable From name and consistent From address
Technical Configuration
- Set proper HELO/EHLO hostname matching your PTR record
- Use TLS for all outbound connections
- Implement rate limiting to avoid triggering volume-based filters
- Process bounces and remove invalid addresses promptly
Monitoring
Regularly check your mail server logs for delivery issues:
sudo tail -f /var/log/mail.log | grep -E "(reject|bounce|deferred)"