Marketing and transactional email separated across IPs or subdomains
Why it matters
Marketing email and transactional email have fundamentally different engagement profiles. Marketing email generates higher complaint rates, lower open rates, and more unsubscribes than password resets, receipts, and account alerts. When they share an IP and sending domain, the reputation damage from a poorly-performing campaign delays or blocks the delivery of time-sensitive transactional messages — password resets that users are actively waiting for, order confirmations that trigger support tickets when delayed. Traffic separation is the architectural guarantee that a bad marketing campaign cannot block the transactional email infrastructure.
Severity rationale
Low because traffic mixing does not cause immediate problems when campaigns perform well, but a single high-complaint marketing campaign creates a direct path to delayed transactional delivery for the same users who filed the complaints.
Remediation
Define separate sending configurations for marketing and transactional email and route explicitly at the send-call level. Both configs should be authenticated independently:
// In src/lib/email/config.ts
const SENDING_CONFIG = {
transactional: {
from: 'noreply@tx.company.com',
smtpHost: process.env.SMTP_HOST_TRANSACTIONAL,
ipPool: process.env.IP_POOL_TRANSACTIONAL,
},
marketing: {
from: 'news@mail.company.com',
smtpHost: process.env.SMTP_HOST_MARKETING,
ipPool: process.env.IP_POOL_MARKETING,
}
} as const
export function getSendingConfig(type: 'transactional' | 'marketing') {
return SENDING_CONFIG[type]
}
Call getSendingConfig('transactional') for password resets, receipts, and alert emails. Call getSendingConfig('marketing') for newsletters, drip campaigns, and promotions. Authenticate tx.company.com and mail.company.com with independent SPF, DKIM, and DMARC records.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Deliverability Engineering Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · reliability.availability — ISO 25010 Availability sub-characteristic
Taxons
History
- 2026-04-18·v1.0.0·Initial import from deliverability-engineering·automated