Critical ErrorSMTP Error · Permanent (5.x.x)
550 5.7.509

Microsoft: sending domain fails DMARC with p=reject

A 550 5.7.509 from Microsoft 365 or Exchange Online says: "Access denied, sending domain [domain] does not pass DMARC verification and has a DMARC policy of reject." The receiving side did what your own DMARC record told it to do.

Updated June 13, 2026

SMTP Exchange / Mail Log
> MAIL FROM:<you@yourdomain.com>> RCPT TO:<recipient@example.com>✕ 550 5.7.509 Microsoft: sending domain fails DMARC with p=reject
All guides

Is your domain affected?

Run a free check — we'll show you exactly what's misconfigured.

550 5.7.509 is a permanent SMTP reply meaning microsoft: sending domain fails dmarc with p=reject. Your domain publishes p=reject, and this message passed neither aligned SPF nor aligned DKIM. So the receiver rejected it.

What 550 5.7.509 means

Your domain publishes p=reject, and this message passed neither aligned SPF nor aligned DKIM. So the receiver rejected it.

⚠️
This is a 5.x.x permanent failure — the message will keep bouncing until you fix the cause. Retrying the same message unchanged won't help.

Common causes

📨
#1

A real sending service is not authenticated

Most common

A CRM, helpdesk, billing or cold-email tool sends as your domain without DKIM or SPF for your domain.

🔁
#2

Forwarding or a mailing list broke authentication

Common

The message was forwarded or changed by a list, which broke SPF and DKIM.

⚙️
#3

Someone is spoofing your domain

Common

If the message was not from you, the rejection is DMARC working as planned.

How to fix 550 5.7.509

  1. 1

    Find the source in DMARC reports

    Aggregate reports (rua) show every IP that sends as your domain and whether it passes. Upload one to the free DMARC report parser.

  2. 2

    Authenticate each real sender

    Set up DKIM with your domain for each service and add it to SPF.

  3. 3

    Lower the policy only for a short time

    If real mail is blocked now, you can change p=reject to p=quarantine while you fix the senders, then change it back.

Confirm your domain is set up correctly

Most delivery failures — permanent or temporary — trace back to authentication or reputation. Run a free EmailHealth check to confirm SPF, DKIM, DMARC, blacklist status, and TLS are all healthy for your sending domain. If you send in volume, free daily monitoring will alert you before a small issue becomes a flood of bounces.

Stop this error from coming back

Most delivery problems start when a DNS record changes, a key is removed or a domain lands on a blocklist. EmailHealth checks your sending domains every day and sends one alert, by email, Slack or webhook, with the exact fix.

1 domain free. Sending from many domains (cold email, agencies, MSPs)? Early access covers 10.

Frequently asked questions

Check your domain for free

SPF, DKIM, DMARC, MX, blocklists and TLS in about 2 seconds. No account needed.

Run the check