Email deliverability and consent playbook
Send campaigns from your own Microsoft 365 mailboxes without burning the domain your whole company mails from. Authentication, a staged warm-up schedule for a new mailbox, per-mailbox caps that defer instead of drop, complaint and bounce thresholds aligned to Gmail and Yahoo, one-way suppression, and the recovery sequence after a spike.
Protecting a sending domain comes down to five mechanics: authenticate it (SPF, DKIM, DMARC beyond p=none), verify the list within 30 days of sending, ramp a new mailbox over its first month instead of starting at full volume, cap sends per mailbox per day (200 at maturity) and defer the excess rather than drop it, and suppress permanent bounces and opt-outs one way so no import can undo them. CommsOperator's playbook gives the numbers, the thresholds, and the failure modes behind each.
For: Anyone whose name is on a sending domain, especially teams that send campaigns from Microsoft 365 mailboxes rather than a bulk provider ยท Published 2026-08-26
What is inside
- Authentication in order: SPF, DKIM, and the DMARC progression from none to reject
- A staged warm-up schedule with the daily cap for each stage
- Per-mailbox caps that defer, and the project-level default that skips the ramp
- Warning and stop thresholds for complaints, bounces, unsubscribes, and reply rate, aligned to Gmail and Yahoo
- Two-tier suppression design, and why it has to be one-way
- The six-step recovery sequence after a complaint spike
Your domain reputation is the one asset a bad campaign week can take from the whole company, not just from marketing. Most deliverability advice is written by people who sell shared sending infrastructure. This playbook assumes the opposite setup: you send from your own Microsoft 365 mailboxes, the reputation is yours, and the numbers below are the ones that keep it.
1. Authenticate the domain
- SPF: publish a record that authorises Microsoft 365 and any other sender you use. Keep it under 10 DNS lookups.
- DKIM: enable signing for the domain in Microsoft 365 and publish both selector records. Verify a signed message before proceeding.
- DMARC: start at p=none with aggregate reports going to a mailbox someone reads, review for two weeks, then move to quarantine, then reject. Bulk senders are expected to be beyond none.
- Set up a subdomain for high-volume outreach if you want to isolate its reputation from transactional and person-to-person mail.
- Publish a valid postal address and an unsubscribe route; both are mechanics as much as legal requirements.
2. Verify before you send
The single highest-yield action before any campaign is list verification, and the single most common mistake is dropping the results you do not understand.
- Verify the whole list within 30 days of sending, not once a year.
- Keep catch-all and unknown results. Large enterprises are frequently catch-all; dropping them removes exactly the accounts you want.
- Re-check employment for anything older than six months. On one aged list we tested, 22 percent had left their company and only 42 percent were confirmed good.
- Never auto-apply a suggested spelling correction to a corporate domain. Verification tools suggest consumer domains for corporate ones surprisingly often.
3. Warm up a new mailbox
| Days sending | Daily cap | Note |
|---|---|---|
| 1 to 3 | 10 | Prefer replies to volume; send to engaged contacts first |
| 4 to 7 | 25 | Watch bounce rate daily |
| 8 to 14 | 50 | Introduce the cold segment gradually |
| 15 to 21 | 100 | Complaint rate is the metric to watch now |
| 22 to 35 | 150 | Approaching mature volume |
| 36+ | 200 (default mature cap) | Set explicitly per mailbox, do not inherit |
4. Caps that defer rather than drop
A daily cap that drops messages loses them silently. A cap that defers pushes them to the next window and sends them later. Design for defer: the recipient still hears from you, and nobody has to reconcile a partial send.
5. Thresholds
| Signal | Warning | Stop |
|---|---|---|
| Spam complaint rate | 0.10 percent | 0.30 percent |
| Hard bounce rate | 2 percent | 5 percent |
| Unsubscribe rate per campaign | 0.5 percent | 2 percent, review the list and the copy |
| Reply rate on cold outreach | Below 1 percent means the targeting or the message is wrong | Pause and rewrite before sending more |
Wire these to something that acts, not to a dashboard. A circuit breaker that pauses the campaign at the stop threshold is worth more than an alert at 3am.
6. Suppression design
- Two tiers. Hard bounces, complaints, full opt-outs, quarantines, invalid addresses, and departed contacts block every channel including a one-to-one reply. A marketing unsubscribe blocks automation but may still allow a reviewed personal reply.
- Strictest reason wins when several apply.
- Fail closed on an unrecognised reason. An unknown token must block, not pass.
- One way. No user action, no import, and no merge may clear a suppression. This is the rule that protects you when someone imports an old spreadsheet.
- Suppress on permanent failures only. A 4.x.x temporary failure is not a reason to delete a live prospect from your reachable universe.
7. After a spike
- Pause every campaign from the affected mailbox and domain immediately.
- Identify the segment. Complaint spikes are usually one list or one message, not a general decline.
- Suppress the affected segment entirely rather than trying to salvage it.
- Drop volume to the warm-up schedule for at least two weeks, sending only to engaged contacts.
- Fix the cause in the process, not the campaign: where did the addresses come from, and which gate should have caught them?
- Only resume cold volume after a clean streak of at least seven days.
8. The organisational part
Deliverability failures are usually organisational. The approval queue with no owner is the classic: a draft-for-review campaign whose drafts expire unapproved sends nothing, and then someone compensates by blasting the whole list at once. Give the queue a named owner and a same-day target, and the technical controls will hold.
This is how CommsOperator is run, not just written
If the practice makes sense to you, the product built around it is one request away. Tell us what you run and we will tell you if it fits.