Email Infrastructure Setup Guide
Overview
This technical guide provides step-by-step instructions for setting up a professional email marketing infrastructure that ensures maximum deliverability and scalability. Follow these steps in order to avoid common pitfalls.
Domain Strategy & Setup
Step 1: Domain Acquisition via Cloudflare
Domains to Purchase
- Marketing Domain:
get-[yourbrand].comortry-[yourbrand].com - Sales Domain:
hello-[yourbrand].comorreach-[yourbrand].com - Newsletter Domain:
news-[yourbrand].comorupdates-[yourbrand].com
Cloudflare Purchase Process
1. Log into Cloudflare Dashboard
2. Navigate to "Domain Registration"
3. Search for available domains
4. Add to cart ($8.57/year for .com)
5. Enable auto-renewal
6. Keep "Use Cloudflare Nameservers" selected
Step 2: DNS Configuration
Base DNS Records for Each Domain
# A Records (Point to your landing pages)
Type: A
Name: @
Value: Your-Server-IP
TTL: Auto
Type: A
Name: www
Value: Your-Server-IP
TTL: Auto
# CNAME for subdomains
Type: CNAME
Name: email
Value: Your-ESP-tracking-domain
TTL: Auto
Google Workspace Configuration
Step 1: Account Setup
- Navigate to: workspace.google.com
- Select Plan: Business Standard ($12/user/month)
- Initial Users to Create:
Step 2: MX Records Configuration
Add these MX records in Cloudflare for each domain using Google Workspace:
Type: MX | Priority: 1 | Value: aspmx.l.google.com
Type: MX | Priority: 5 | Value: alt1.aspmx.l.google.com
Type: MX | Priority: 5 | Value: alt2.aspmx.l.google.com
Type: MX | Priority: 10 | Value: alt3.aspmx.l.google.com
Type: MX | Priority: 10 | Value: alt4.aspmx.l.google.com
Step 3: Email Alias Setup
In Google Workspace Admin:
1. Admin Console → Users
2. Select user → User Information
3. Email aliases → Add Alias
4. Recommended aliases:
- info@domain.com → hello@domain.com
- contact@domain.com → hello@domain.com
- support@domain.com → help@domain.com
Email Authentication Setup
SPF (Sender Policy Framework)
What It Does
Specifies which servers can send email for your domain.
DNS Record to Add
Common ESP SPF Includes
- Brevo/Sendinblue:
include:spf.sendinblue.com - SendGrid:
include:sendgrid.net - Mailchimp:
include:servers.mcsv.net - ActiveCampaign:
include:emsd1.com
DKIM (DomainKeys Identified Mail)
What It Does
Adds cryptographic signature to verify email authenticity.
Google Workspace DKIM Setup
1. Admin Console → Apps → Google Workspace → Gmail
2. Authenticate email → Generate new record
3. Copy the DKIM key
4. Add to DNS:
Type: TXT
Name: google._domainkey
Value: [Your DKIM key from Google]
TTL: Auto
5. Back in Admin Console → Start Authentication
ESP DKIM Setup (Brevo Example)
1. Brevo Dashboard → Settings → Senders & IP
2. Domains → Add a new domain
3. Copy provided DKIM records
4. Add to DNS:
Type: TXT
Name: mail._domainkey
Value: [DKIM key from Brevo]
TTL: Auto
DMARC (Domain-based Message Authentication)
What It Does
Tells receiving servers what to do with emails that fail authentication.
Progressive DMARC Implementation
Start with monitoring, gradually increase strictness:
Week 1-2: Monitor Only
Week 3-4: Quarantine 25%
Week 5-6: Quarantine 50%
Week 7+: Full Enforcement
Email Warming Schedule
Why Warming Is Critical
- New domains have zero reputation
- ISPs limit unknown senders to ~50 emails/day
- Gradual increases build trust
- Prevents immediate blacklisting
6-Week Warming Schedule
Week 1: Foundation (50 emails/day)
Day 1-2: 10 emails to engaged internal team
Day 3-4: 25 emails to partners/vendors
Day 5-7: 50 emails to most engaged subscribers
Week 2: Early Growth (100 emails/day)
Day 1-3: 75 emails to engaged segments
Day 4-7: 100 emails to active subscribers
Focus: >50% open rate segments only
Week 3: Scaling (250 emails/day)
Day 1-2: 150 emails
Day 3-4: 200 emails
Day 5-7: 250 emails
Include: Recently active (30-day) segments
Week 4: Expansion (500 emails/day)
Week 5: Acceleration (1,000 emails/day)
Week 6: Full Volume (2,000+ emails/day)
Warming Best Practices
- Send to most engaged users first
- Maintain >25% open rates during warming
- Remove bounces immediately
- Use different subject lines daily
- Include text and HTML versions
ESP Integration Setup
Brevo Configuration
Step 1: Domain Verification
1. Settings → Senders & IP → Domains
2. Add new domain → Enter domain name
3. Add provided DNS records:
- SPF record (if not already added)
- DKIM records (2 records)
- Tracking CNAME
Step 2: Sender Configuration
1. Settings → Senders & IP → Senders
2. Add senders:
- hello@marketing-domain.com
- sarah@marketing-domain.com
- team@newsletter-domain.com
3. Verify each via email confirmation
Step 3: IP Pool Configuration
1. Settings → Senders & IP → Dedicated IPs
2. For volumes >100k/month, consider dedicated IP
3. Shared IP pools are fine for <100k/month
Step 4: Webhook Setup
1. Settings → Webhooks
2. Configure endpoints for:
- Opens
- Clicks
- Bounces
- Unsubscribes
- Spam complaints
3. Endpoint URL: https://yourapp.com/webhooks/brevo
CRM Integration
API Connection
// Brevo API Configuration
const SibApiV3Sdk = require('sib-api-v3-sdk');
const defaultClient = SibApiV3Sdk.ApiClient.instance;
// Configure API key
const apiKey = defaultClient.authentications['api-key'];
apiKey.apiKey = 'YOUR_API_KEY';
// Initialize API instances
const contactsApi = new SibApiV3Sdk.ContactsApi();
const emailApi = new SibApiV3Sdk.TransactionalEmailsApi();
Contact Sync Setup
1. Map CRM fields to Brevo attributes:
- First Name → FIRSTNAME
- Last Name → LASTNAME
- Company → COMPANY
- Lead Score → LEAD_SCORE
- Stage → SALES_STAGE
2. Set up bi-directional sync:
- New CRM contacts → Brevo list
- Brevo engagement → CRM activity
- Unsubscribes → CRM opt-out field
Deliverability Monitoring Setup
Email Testing Tools
1. Mail-Tester.com Setup
1. Send test email to provided address
2. Check spam score (target: 8+/10)
3. Fix identified issues:
- Missing DKIM
- Broken links
- Spam trigger words
- Image/text ratio
2. GlockApps Configuration
1. Create account → Add domain
2. Set up seed list testing:
- 15 Gmail addresses
- 10 Outlook addresses
- 5 Yahoo addresses
- 10 Corporate addresses
3. Schedule weekly tests
4. Set alerts for <90% inbox placement
3. MXToolbox Monitoring
1. Add all domains to monitoring
2. Enable alerts for:
- Blacklist appearances
- DNS changes
- SSL certificate issues
3. Weekly reports to email
Reputation Monitoring
Sender Score by Return Path
1. Register at senderscore.org
2. Add your IPs
3. Monitor weekly:
- Score >80: Good
- Score 70-80: Needs improvement
- Score <70: Critical issues
Google Postmaster Tools
1. Add and verify domains
2. Monitor daily:
- IP reputation
- Domain reputation
- Spam rate
- Delivery errors
3. Target: "High" reputation, <0.1% spam rate
Microsoft SNDS
1. Sign up at postmaster.live.com
2. Add IP addresses
3. Monitor:
- Spam complaint rate
- Spam trap hits
- Data validity
List Hygiene & Validation
Email Validation Process
Initial List Cleaning
1. Export email list from CRM
2. Upload to ZeroBounce:
- Remove duplicates
- Identify invalid formats
- Detect disposable emails
- Find spam traps
- Check domain validity
3. Remove all "invalid" and "abuse" emails
4. Quarantine "unknown" for manual review
Ongoing Hygiene Rules
Hard Bounces: Remove immediately
Soft Bounces: Remove after 3 consecutive
Unopened: Re-engage after 90 days, remove after 120
Unsubscribes: Remove within 24 hours
Complaints: Remove immediately + investigate
Segmentation Setup
Engagement-Based Segments
Highly Engaged (Email daily)
- Opened 5+ emails in 30 days
- Clicked 2+ times
- Score: 90-100
Engaged (Email 2-3x/week)
- Opened 3+ emails in 30 days
- Clicked 1+ time
- Score: 70-89
Moderately Engaged (Email weekly)
- Opened 1+ email in 30 days
- No clicks
- Score: 50-69
Disengaged (Re-engagement campaign)
- No opens in 30-60 days
- Score: 20-49
Inactive (Consider removal)
- No opens in 60+ days
- Score: 0-19
Troubleshooting Common Issues
Issue: High Bounce Rate (>2%)
Diagnosis:
1. Check validation service results
2. Review signup source quality
3. Audit list import process
Solution:
1. Clean list with validation service
2. Implement double opt-in
3. Add email validation to forms
4. Remove role-based emails (info@, admin@)
Issue: Low Open Rates (<20%)
Diagnosis:
1. Check sender reputation
2. Review subject lines
3. Analyze send times
4. Check spam folder placement
Solution:
1. Warm domains properly
2. A/B test subject lines
3. Optimize send times by timezone
4. Improve preheader text
5. Clean inactive subscribers
Issue: Spam Complaints (>0.1%)
Diagnosis:
1. Check unsubscribe link visibility
2. Review email frequency
3. Analyze complaint sources
4. Check list acquisition method
Solution:
1. Make unsubscribe prominent
2. Reduce sending frequency
3. Implement preference center
4. Never buy lists
5. Use double opt-in
Issue: Gmail Blocking
Diagnosis:
1. Check Postmaster Tools
2. Review authentication
3. Analyze engagement rates
4. Check blacklists
Solution:
1. Fix authentication issues
2. Reduce volume temporarily
3. Send only to engaged users
4. Request delisting if needed
5. Implement feedback loops
Security Best Practices
Access Control
1. Enable 2FA on all accounts:
- Google Workspace
- Cloudflare
- ESP account
- Domain registrar
2. Use unique passwords (minimum 16 characters)
3. Limit admin access to 2-3 people
4. Regular access audits (quarterly)
API Key Management
1. Never commit keys to code repositories
2. Use environment variables
3. Rotate keys quarterly
4. Implement IP restrictions where possible
5. Monitor API usage for anomalies
Data Protection
1. Encrypt email lists at rest
2. Use secure transfer protocols (SFTP/HTTPS)
3. Implement data retention policies
4. Regular backups of subscriber data
5. GDPR compliance measures
Monitoring Checklist
Daily Checks (5 minutes)
- Bounce rate <2%
- Complaint rate <0.1%
- Open rate >20%
- No blacklist appearances
- Successful ESP sync
Weekly Checks (30 minutes)
- Sender Score >80
- Domain reputation "High"
- Inbox placement >90%
- List growth positive
- A/B test results review
Monthly Checks (2 hours)
- Full deliverability audit
- List hygiene cleanup
- DNS record verification
- API usage review
- Cost optimization review
Emergency Procedures
Domain Blacklisted
Immediate Actions:
1. Stop all sending from affected domain
2. Identify root cause (usually complaints or bounces)
3. Request delisting with evidence of fixes
4. Switch to backup domain temporarily
Mass Unsubscribes (>2%)
Immediate Actions:
1. Pause campaign immediately
2. Analyze unsubscribe reasons
3. Review email content and frequency
4. Survey unsubscribers for feedback
5. Adjust strategy before resuming
Authentication Failure
Immediate Actions:
1. Verify DNS records haven't changed
2. Check ESP configuration
3. Confirm Google Workspace settings
4. Test with mail-tester.com
5. Contact ESP support if needed
Appendix: DNS Record Templates
Complete DNS Setup for Marketing Domain
# MX Records (Google Workspace)
MX | 1 | aspmx.l.google.com
MX | 5 | alt1.aspmx.l.google.com
MX | 5 | alt2.aspmx.l.google.com
MX | 10 | alt3.aspmx.l.google.com
MX | 10 | alt4.aspmx.l.google.com
# SPF Record
TXT | @ | v=spf1 include:_spf.google.com include:spf.sendinblue.com ~all
# DKIM (Google)
TXT | google._domainkey | [Your Google DKIM Key]
# DKIM (ESP)
TXT | mail._domainkey | [Your ESP DKIM Key]
# DMARC
TXT | _dmarc | v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc@yourdomain.com
# Tracking CNAME (ESP)
CNAME | email | [ESP tracking domain]
Document Version: 1.0 Last Updated: 2024 Technical Owner: Marketing Operations Review Cycle: Quarterly
Support Resources
- Google Workspace Support: workspace.google.com/support
- Cloudflare Support: support.cloudflare.com
- Brevo Support: help.brevo.com
- Deliverability Help: 250ok.com/resources
Remember: Infrastructure is the foundation of email marketing success. Take time to set it up correctly - shortcuts now lead to deliverability problems later.