0 automatically excluded
Move the system.
Keep the evidence.
Turn an email-provider migration into owned controls, dependency-aware gates, dated evidence, a rehearsed rollback, and an exportable cutover record.
- 38 controls
- Applicability rules
- Rollback gates
The migration is not yet cutover-ready.
Current provider → Target provider · cutover Oct 15, 2026 · evidence as of Jul 29, 2026.
Verify the delivered message, real provider behavior, recipient state, production throughput, receiver feedback, rollback authority, and post-cutover reconciliation.
0 verified states lack proof or owner
As of 2026-07-29
4 currently in progress
Readiness is only as strong as the weakest dependency.
0 of 6 applicable blocker controls have verified evidence.
6 open1 of 5 applicable blocker controls have verified evidence.
4 open0 of 5 applicable blocker controls have verified evidence.
5 open0 of 5 applicable blocker controls have verified evidence.
5 openCompletion and risk across the migration path.
Assign the work and attach reproducible proof.
Inventory every sending stream, owner, and business purpose
List production and non-production senders, applications, vendors, IP pools, volumes, message classes, recipients, and accountable owners.
Map From, envelope, DKIM, tracking, and link identities
Record visible From domains, return paths, HELO names, DKIM domains and selectors, tracking hosts, branded links, reply handling, and current alignment.
Baseline volume and receiver-level quality metrics
Record daily and peak volume by stream, domain, region, and major mailbox provider together with bounce, complaint, deferral, click, and conversion baselines.
Reconcile audience, consent, and suppression sources
Identify the authoritative source for contacts, consent, subscription scope, complaints, permanent failures, manual blocks, legal holds, and deletion requests.
Inventory templates, journeys, triggers, and dependencies
List templates, localizations, partials, assets, personalization, flows, schedules, triggers, suppression rules, and downstream actions.
Inventory APIs, SMTP credentials, webhooks, exports, and secrets
Find every producer and consumer, authentication method, retry path, network restriction, secret location, webhook signature, and data export.
Configure target account ownership, least privilege, and recovery
Establish production ownership, MFA or SSO, roles, service accounts, recovery, support contacts, environment separation, and audit retention.
Approve the post-migration identity and stream separation strategy
Decide which domains, subdomains, From addresses, return paths, DKIM domains, IP pools, and tracking hosts remain stable or change.
Prepare DNS ownership, TTL, coexistence, and rollback changes
Document every record change, authoritative owner, current and target values, TTL reduction timing, validation method, propagation window, and exact rollback.
Authorize old and new envelope paths without invalid SPF
Model the final SPF record, include both active routes during coexistence, stay within evaluation limits, and identify provider-managed return paths.
Publish and validate target-provider DKIM signing
Create distinct selectors, publish target keys or aliases, enable signing, verify key strength and DNS, and retain old selectors during coexistence.
Preserve DMARC alignment, policy, and aggregate reporting
Validate author-domain policy, target DKIM or SPF alignment, aggregate report destinations, external authorization, and enforcement impact before ramping.
Configure branded return paths, tracking, links, and reply handling
Validate custom bounce domains, click/open hosts, HTTPS certificates, redirect behavior, reply mailboxes, and organizational-domain alignment.
Validate dedicated IP assignment, rDNS, TLS, and ramp capacity
Confirm ownership, forward and reverse DNS, HELO identity, TLS, pool separation, provider limits, and a volume plan appropriate to the new reputation surface.
Implement visible and RFC 8058 one-click unsubscribe
Preserve the body unsubscribe experience and validate List-Unsubscribe, List-Unsubscribe-Post, DKIM coverage, HTTPS POST behavior, list scope, and suppression propagation.
Define contact, consent, field, list, and segment mappings
Map source types and semantics to target fields, resolve defaults and nulls, preserve timestamps and provenance, and define deterministic segment reconstruction.
Import and protect the complete suppression state before contacts
Move unsubscribes, complaints, permanent failures, manual blocks, and required scoped preferences with timestamps and reasons before any target send is possible.
Define normalized event schema, signatures, retries, and idempotency
Map accepted, delivered, deferred, bounce, complaint, unsubscribe, click, and conversion events with stable identifiers, signature verification, retry, ordering, and deduplication rules.
Build a representative seed and mailbox-client test matrix
Cover major mailbox providers, web/desktop/mobile clients, dark mode, text alternatives, images blocked, forwarded messages, and representative regional domains.
Verify authentication and routing in delivered target messages
Inspect Received, Authentication-Results, DKIM-Signature, return path, Message-ID, List headers, and tracking transformations from every target route.
Pass content, personalization, accessibility, and link acceptance
Compare source and target rendering, encoding, localization, fallbacks, conditional content, images, alt decisions, links, footers, and message size.
Prove unsubscribe, complaint, and bounce suppression end to end
Create each terminal state through the target route, observe ingestion and propagation, then attempt sends through every connected application and re-import path.
Replay webhooks and test outage, retry, ordering, and duplicates
Exercise valid and invalid signatures, endpoint outage, repeated payloads, out-of-order events, delayed delivery, poison messages, and dead-letter recovery.
Prove transactional idempotency, latency, and failover behavior
Test application retries, provider timeouts, duplicate requests, stable message keys, priority separation, latency objectives, and explicit failover policy.
Reconcile metric definitions, attribution, bots, and historical continuity
Map event denominators, unique logic, time zones, bot filtering, privacy effects, attribution windows, revenue joins, and dashboard ownership.
Confirm provider limits, escalation path, and emergency contacts
Validate rate limits, daily caps, payload size, recipients/request, concurrency, retention, webhook behavior, support tier, and incident escalation.
Start with a low-risk, permissioned production cohort
Route a small representative cohort through the target while preserving source rollback and stable content, identity, consent, and measurement.
Increase volume by stream and receiver under explicit guardrails
Stage volume by sending identity, mailbox provider, message class, engagement, and frequency while monitoring deferrals, bounces, complaints, and conversions.
Freeze unrelated changes and approve the go/no-go evidence pack
Freeze templates, audience logic, DNS, authentication, integrations, and unrelated releases that would obscure migration attribution.
Rehearse rollback with thresholds, authority, and data reconciliation
Define who can roll back, which traffic moves, how DNS or application routing changes, how duplicates are prevented, how events reconcile, and how long recovery takes.
Execute cutover from an owned runbook and record every change
Confirm final eligibility and suppression sync, pause unsafe queues, apply routing changes, validate target traffic, communicate state, and timestamp decisions.
Staff live monitoring for delivery, events, queues, and business outcomes
Watch acceptance, deferrals, bounces, complaints, suppression, webhook lag, API errors, queue age, transaction latency, clicks, conversions, and support contacts.
Reconcile messages, events, suppression, and analytics across the boundary
Account for queued, accepted, delivered, deferred, bounced, complained, unsubscribed, clicked, and converted records during overlap and cutover.
Hold a stabilization window against baseline and receiver guardrails
Compare target volume, latency, deliverability, complaints, unsubscribes, conversions, support impact, and costs with the pre-migration baseline.
Prove residual source traffic and late events are zero
Query provider logs, application configuration, DNS, retries, scheduled campaigns, background jobs, vendor routes, and inbound events for residual source activity.
Remove obsolete DNS authorization and source credentials safely
Remove old SPF mechanisms, DKIM selectors after verification windows, tracking records, API/SMTP secrets, webhook endpoints, and unused access.
Export required data and close the source-provider contract
Export required logs, suppression, consent, campaign, template, invoice, and audit data; validate retention and deletion; then adjust or close the contract.
Complete post-migration review, documentation, and steady-state ownership
Record outcomes, incidents, assumptions, decisions, costs, metric discontinuities, technical debt, owners, and follow-up dates.
One named migration commander can stop or reverse traffic without waiting for a committee.
Authentication, deferral, complaint, event lag, queue age, transaction latency, and business guardrails are explicit.
Routing and idempotency prevent the source and target from sending the same transactional message.
Suppression, late events, queued work, and accepted messages have an owned recovery procedure.
Rollback rehearsal is not yet evidenced as ready.
Export scope, task states, due dates, dependencies, evidence, gates, and next actions.
An ESP migration moves identities, recipient state, event contracts, and operational authority.
Templates and contacts are only part of the system. Inventory every producer, consumer, credential, suppression path, DNS identity, webhook, metric definition, owner, and retirement dependency before designing cutover.
Authorize both active routes, prove alignment, then retire the old path.
SPF, DKIM, DMARC, return paths, tracking hosts, reverse DNS, and visible identity need a planned overlap. Removing the old route too early can break retries and residual traffic; leaving it forever expands authorization.
Suppression moves before sendable contacts.
Unsubscribes, complaints, permanent failures, scoped preferences, and manual blocks must remain authoritative during export, import, dual operation, and replay. Test every application route after migration.
A configuration test is not a reputation or capacity test.
Begin with a small permissioned cohort, compare against a documented baseline, and increase by stream and receiver under explicit guardrails. Hold or reverse volume when evidence changes.
Retirement begins only after residual traffic and late events reach zero.
Keep the source available through the retry and late-event window. Export required records before access or retention disappears, then remove obsolete authorization, secrets, webhooks, and billing deliberately.
How long should an email migration take?+
Scope, identity changes, volume, dedicated infrastructure, data quality, integrations, and required validation determine the timeline. The target date should follow evidence, not replace it.
Should SPF be replaced on cutover day?+
Usually not. Authorize the active old and new paths during a controlled coexistence window, verify the final policy, then remove obsolete authorization after residual traffic reaches zero.
What data should move first?+
Authoritative suppression and consent state must be protected before the target can send to imported contacts.
Can we send from both providers during migration?+
Yes when identity, suppression, volume, measurement, and transactional idempotency are designed for coexistence. Uncontrolled dual sending can create duplicates and reputation spikes.
When can the old provider be closed?+
After queues, retries, scheduled sends, application routes, and late events are demonstrably quiet; required data is archived; rollback is no longer needed; and old authorization and secrets can be removed safely.