Build a representative test environment
Match the parts of your customer setup that affect mail delivery. Keep an inventory of differences between the test environment and production so you can cover them during the pilot.Use real mail with a low cost of failure
Test with real email messages from a domain you control, using a workload where a delayed or missing message has little impact. Good starting points include routine cron reports from a server you operate or noncritical internal notifications from a company subdomain. Choose recipients on your team who can tolerate failures, so real customers are not affected. Include controlled mailboxes at the recipient providers your customers commonly use. Avoid repeatedly sending messages with a simple subject or body such as “Testing 1 2 3”. Sending many messages like this is likely to trigger spam classification and blocking. Use the workload’s normal subjects, useful message content, and natural sending cadence. Do not clone a live outgoing queue or enable copied scheduled jobs that still address real customers.Arrange a test account
For larger customers that need a test account during onboarding, MailChannels provisions a special Outbound Filtering sub-account. This feature is specific to Outbound Filtering and is separate from the Email API sub-account feature. MailChannels provides these test accounts free of charge to qualifying customers above a certain scale. Contact MailChannels support with your expected sending volume and migration plan to confirm eligibility and arrange provisioning. Use the test credentials and account identifiers supplied by MailChannels. Keep distinct test sender identities; creating a separate SMTP password alone does not provide account or reputation isolation.Test-account messages are still subject to normal filtering. Agree on expected volume and any load or abuse-simulation testing with support before running those tests.
Prepare DNS and a delivery baseline
Run the customer SPF audit before selecting a pilot group. Resolve required changes and manual-review items for each group before moving its traffic. If a customer defers an optional SPF update, verify that their authentication plan still meets their DMARC requirements. Configure Domain Lockdown™ for the account and sender identities used in each environment. A record that authorizes your production account can reject a separate test account. Use the intended values on your test domains, then verify production values during the pilot. Capture a baseline from your current delivery route over a period that includes normal busy hours and scheduled sending. Record:- Submission volume and delivery outcomes by customer group and recipient provider.
- Queue depth, oldest queued message, and typical delivery delay.
- Temporary deferrals, permanent rejections, and authentication failures.
- Sender attribution, abuse reports, and delivery-related support tickets.
Configure SRS for forwarded mail
Customers may hostwww.example.com with you while forwarding mail addressed to info@example.com to customer@gmail.com. Configure Sender Rewriting Scheme (SRS) on the forwarding MTA before relaying this traffic through MailChannels. This applies to every hosting setup that forwards mail, whether or not you use cPanel.
SRS rewrites the SMTP envelope sender (MAIL FROM) to an address under a domain your forwarding service controls. SPF checks that domain against the sending IP. Without SRS, forwarding normally retains the original sender’s envelope domain, which may not authorize MailChannels. The final recipient’s domain does not determine which SPF record is checked.
For example, suppose alice@gmail.com sends to the hosted address info@example.com, which forwards to customer@gmail.com:
The SRS address above is illustrative; your MTA generates the encoded local part. Without rewriting, SPF checks
gmail.com, which does not authorize MailChannels to send its mail. With SRS, SPF checks example.com, which you can authorize with include:relay.mailchannels.net. Your setup can use a dedicated forwarding subdomain instead; publish and audit SPF at that exact name.
For cPanel, follow the SRS forwarding configuration. For other platforms, configure your MTA’s supported SRS implementation, including decoding return addresses so delivery failures can reach the original sender. The Exim SRS documentation describes this mechanism for Exim.
SRS leaves the visible From address unchanged. An SPF pass for the rewritten domain does not by itself provide DMARC alignment with the original sender. Preserve the original DKIM signature and test DMARC at the final recipient.
Before moving a group that uses forwarding, verify the rewritten MAIL FROM in your MTA logs, SPF results at the destination, and bounce handling back through the forwarding service. Include the SRS domain in your DNS audit.
Run the test matrix
Record the result for each sending source and MTA configuration you plan to migrate. Keep the real message’s subject and content, and use its Message-ID and local queue ID to correlate results. Save the UTC timestamp, sender ID, SMTP response, and received headers where available.
For failure recovery, verify that temporary
4xx replies are deferred and retried, while permanent 5xx replies are surfaced as failures rather than retried indefinitely. These reply classes are defined in the SMTP specification. Use a controlled test server for repeatable error cases; avoid generating large numbers of invalid recipients or spam messages through the live relay.
Check both your MTA logs and MailChannels Log Search. A final SMTP acceptance response transfers responsibility to the accepting server; it does not prove inbox placement. Confirm arrival and received headers in your test mailboxes. See SMTP mail transactions.
Set up monitors and alerts if your plan includes them. Verify that the responsible team receives notifications and can act on them. Otherwise, schedule log and queue reviews during each migration window.
Watch for common migration pitfalls
Roll out in phases
Choose groups you can route and roll back independently, such as a server pool or a set of sending domains if your MTA supports that selection. Confirm whether a rule matches the sender domain or the recipient domain before relying on it to select customers. Keep each customer’s route stable during an observation window so you can interpret the results. The following sequence is a starting point. Adjust group sizes to your traffic volume, customer mix, and support capacity.
For a daily sending pattern, an initial observation window of 24–48 hours can be useful. Extend it to cover weekly jobs, peak periods, low-volume customers, or unresolved issues. This is a planning example, not a MailChannels activation or warm-up requirement. Advance based on evidence, not elapsed time alone.
Before each phase, confirm the customer list, DNS readiness, routing change, operator, observation window, and rollback decision-maker. Tell affected customers when the change will happen and how to report a problem. Keep customers with unresolved prerequisites on their existing route.
Decide whether to advance or pause
Review these checks for each group, rather than only for the account as a whole:- All intended sending paths use the correct route and retain usable sender attribution.
- Authentication results match the agreed configuration, including aligned DKIM where needed.
- Queue age and depth return to their expected range after normal bursts.
- Deferral, rejection, and delivery-delay rates stay within the limits you set against the baseline.
- Controlled recipient tests arrive as expected, and unexpected customer reports have been investigated.
- Support can trace a message and the rollback route remains available.
Prepare and rehearse rollback
Save the previous MTA routing configuration and confirm that the previous delivery service remains usable during the rollout. Retain the DNS authorization and credentials needed for both paths until you have completed the observation period and accounted for outstanding mail. If a group needs rollback:- Stop adding customers and record the affected group, change time, and symptoms.
- Determine which messages remain in your local queue and which MailChannels has already accepted. Preserve logs and queue state.
- Restore the previous route for that group. Confirm its authentication and connectivity before releasing locally queued mail at a controlled rate.
- Track mail already accepted by MailChannels through Log Search. Avoid manually resubmitting accepted messages through the old route, which can cause duplicates. Investigate ambiguous timeout outcomes before replaying messages.
- Repeat the delivery checks on the restored route and notify affected customers of the outcome.

