Skip to content
guide

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

Get the Markdown copy

The complete text is on this page already. The form gets you a file to keep and share, downloaded right here. We ask for a work email so we can follow up about this document only.

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

  1. SPF: publish a record that authorises Microsoft 365 and any other sender you use. Keep it under 10 DNS lookups.
  2. DKIM: enable signing for the domain in Microsoft 365 and publish both selector records. Verify a signed message before proceeding.
  3. 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.
  4. Set up a subdomain for high-volume outreach if you want to isolate its reputation from transactional and person-to-person mail.
  5. 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 sendingDaily capNote
1 to 310Prefer replies to volume; send to engaged contacts first
4 to 725Watch bounce rate daily
8 to 1450Introduce the cold segment gradually
15 to 21100Complaint rate is the metric to watch now
22 to 35150Approaching mature volume
36+200 (default mature cap)Set explicitly per mailbox, do not inherit
A trap worth naming: some systems key the warm-up ramp on the project or account rather than the mailbox, so once any mailbox in the account has sent, a brand new mailbox skips straight to the mature cap on its first ever send. Check where your ramp is keyed, and set per-mailbox caps explicitly.

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

SignalWarningStop
Spam complaint rate0.10 percent0.30 percent
Hard bounce rate2 percent5 percent
Unsubscribe rate per campaign0.5 percent2 percent, review the list and the copy
Reply rate on cold outreachBelow 1 percent means the targeting or the message is wrongPause 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

  1. Pause every campaign from the affected mailbox and domain immediately.
  2. Identify the segment. Complaint spikes are usually one list or one message, not a general decline.
  3. Suppress the affected segment entirely rather than trying to salvage it.
  4. Drop volume to the warm-up schedule for at least two weeks, sending only to engaged contacts.
  5. Fix the cause in the process, not the campaign: where did the addresses come from, and which gate should have caught them?
  6. 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.