SendGrid
This 550 is a Mimecast rejection, not a SendGrid error: your protected domain arrived via SendGrid IPs. Authenticate, then have Mimecast add an exception.
Updated Jul 1, 2026
The short answer
This 550 is not a SendGrid error — it is a permanent rejection from the recipient's Mimecast gateway. Mimecast saw your protected domain in the From header but the message arrived via SendGrid's external IPs, so its header-based anti-spoofing policy blocked it. Fix it by authenticating SendGrid (SPF, DKIM, DMARC) for your domain and having the recipient's Mimecast admin add a policy exception for your traffic.
Quick verdict: Despite showing up in your SendGrid Activity Feed, this
550is not generated by SendGrid. It is a permanent rejection returned by the recipient's mail gateway — almost always Mimecast, whose error reads550 Rejected by header based Anti-Spoofing policy: <address>. SendGrid simply relays that bounce back to you. The same message text is reported verbatim by senders using AWS SES, Marketo, and Google Apps Script, because the rejection comes from the receiver, not the sender.
Mimecast's Anti-Spoofing policy inspects the header (visible) From address. When it sees an address belonging to a domain Mimecast protects (an internal/customer domain) but the message arrived over an external, unauthorized route — in this case SendGrid's shared or dedicated IPs — it treats the message as a potential spoof and rejects the SMTP transaction with a permanent 550 (RFC 5321 §4.2.1 permanent negative completion).
The classic trigger is "same-domain" mail sent through a third party: the From and the recipient (To) are both on a domain Mimecast protects, but the mail is injected by an ESP like SendGrid instead of the domain's own servers. Legitimate internal mail is expected to originate from internal sources, so Mimecast flags the external path.
Mimecast evaluates several signals, and a gap in any of them can keep the policy from trusting the route:
From domain (the protected identity)Note this is a header-based check. SPF and DKIM operate on the envelope sender and signing domain, so a message can pass SPF/DKIM yet still be rejected if Mimecast doesn't have an exception trusting that external source for your protected domain. Authentication is necessary but, on its own, not always sufficient.
This is a two-sided fix. Do the sender-side authentication first, then have the receiving Mimecast admin add a scoped exception.
On the SendGrid (sender) side:
em123.yourdomain.com) to SendGrid via a CNAME record. SendGrid then auto-publishes the SPF (TXT) record and the DKIM (CNAME) records under that delegated subdomain, covering the Return-Path/envelope domain and the DKIM signing domain. Confirm both resolve correctly in DNS.v=DMARC1; p=...) so the receiver can see that DKIM/SPF align with your From domain. DMARC alignment is what lets a receiver distinguish your authorized SendGrid traffic from a real spoof.dkim=pass, spf=pass, and dmarc=pass before involving the recipient's admin.On the recipient's Mimecast (receiver) side — this is the part that actually clears the 550, and it must be done by the receiving organization's Mimecast administrator:
If you don't control the receiving domain, you'll need to ask that organization's IT/email team to add the exception — there is nothing further you can change inside SendGrid once your authentication passes.
It is not caused by missing IP whitelisting on SendGrid's outbound side, and it is unrelated to Google "Less Secure Apps." Treating it as a generic SPF/DKIM problem on your own server misses the point: the block lives in the recipient's Mimecast tenant. The single most reliable resolution is the Mimecast Anti-Spoofing exception, backed by passing DMARC alignment.
Note: some sender community threads (e.g. discussions of this same bounce on AWS SES) label it a "transient" bounce. That's a mislabel — a 550/5yz response is a permanent SMTP failure per RFC 5321 §4.2.1, and retrying without fixing authentication or getting a Mimecast exception won't resolve it.
References
FAQ
No. It is a rejection from the recipient's mail gateway — typically Mimecast — that SendGrid merely relays back into your Activity Feed. The exact Mimecast text is "550 Rejected by header based Anti-Spoofing policy: <address>". The same error is reported by senders on AWS SES, Marketo, and other platforms, confirming it originates on the receiving side.
Keep going
One API, every provider
Courier connects to your email, SMS, and push providers, handles retries and failover, and surfaces delivery errors in plain language.
Reply-code definitions per RFC 5321 §4.2.1. Last reviewed Jul 1, 2026. Courier is not affiliated with third-party providers; error behavior may vary by implementation.
© 2026 Courier. All rights reserved.