554 5.7.1 [CS01]: iCloud Mail rejected by local policy

554 5.7.1 [CS01]iCloud Mail local policy rejection (CS01)Permanent: retrying will not helpFrom iCloud Mail

Example
554 5.7.1 [CS01] Message rejected due to local policy

What it means

CS01 is one of the bracketed reason tags that Apple’s iCloud Mail servers add to rejections. The 554 reply and the enhanced code 5.7.1 (RFC 3463, “Delivery not authorized, message refused”) say that the inbound gateway refused the message for good during the SMTP session, so nothing was stored in the recipient’s mailbox. It covers addresses at icloud.com, me.com, and mac.com, plus custom domains that people host on iCloud+. The line is often followed by a link to Apple’s support page for senders.

Apple does not publish a table of what each bracket tag means. Going by what senders report, CS01 lines up with content and reputation scoring: the message, the links inside it, or the sending infrastructure looked like spam or a risk. That sets it apart from [HM08], which people more often meet when authentication or the From identity looks wrong, and from a plain 5.1.1, which only says the mailbox does not exist.

Because it is a 5xx reply, your server will not try again. If you sent the message, something has to change on your side before a resend has a chance. If you run a custom domain on iCloud+ and a contact cannot reach you, you have no allowlist switch to flip, so the useful move is to forward the full bounce to the sender.

Likely causes

  • Content that Apple’s filters scored as spam: URL shorteners, links to domains with a poor reputation, or image-only bodies with almost no text.
  • A sending IP or shared ESP pool with recent complaints from iCloud users, even when that IP sits on no public DNSBL.
  • Weak authentication: no DKIM signature, an SPF softfail or fail, or a From domain without any DMARC record.
  • A sudden jump in volume to iCloud addresses from a new IP or domain that has no sending history with Apple.
  • Bulk mail without a working List-Unsubscribe header, which Apple, like Google and Yahoo, reads as a bad sign.

How to fix it

  1. Open the full bounce, confirm the [CS01] tag, and note which of your outbound IPs made the connection so you know which mail stream to work on.
  2. Make the message pass SPF and DKIM aligned with the From domain, and publish DMARC, for example `v=DMARC1; p=none; rua=mailto:dmarc@example.com`, then tighten it once reports look clean.
  3. Look the sending IP up on public blocklists and clear any listing first, since Apple also draws on commercial reputation data.
  4. Remove shortened links and links to unrelated tracking domains, send a balanced text and HTML body, and test a plain version to the same address.
  5. For bulk streams, slow down to iCloud recipients, drop addresses that never open, and add one-click unsubscribe as described in RFC 8058.
  6. If clean, authenticated mail still gets CS01, contact Apple through its postmaster information page for iCloud Mail and quote the full rejection plus your sending IP.

Checks that apply

  • Email Header Analyzer Paste a copy of the same message as delivered elsewhere to see its SPF, DKIM, and DMARC results before you blame content.
  • Blacklist Check Shows whether the IP named in your logs is on any of 40 public blocklists that could feed Apple’s scoring.
  • DKIM Check Confirms that the selector you sign with publishes a valid key, so the signature iCloud sees can verify.
  • DMARC Check Checks that your From domain has a parseable DMARC policy, which Apple expects from anyone sending in volume.

The classification runs without network lookups and we never store your paste.

FAQ

Will my server retry after a CS01 rejection?
No. It is a 554 permanent refusal, so the queue gives up and returns the message to you. Resend only after you have changed the content, the authentication, or the sending path.
Can the iCloud user allowlist me?
Adding you to their contacts does not reliably help, because the message is refused before it reaches the mailbox. The fix has to come from the sending side.
Is CS01 the same as being on a blocklist?
Not necessarily. Apple does not document CS01, and senders see it from IPs that appear on no public list, which points to Apple’s own content and reputation checks.

All 191 bounce codes