A 550 5.7.0 DMARC policy violation means the receiving server refused your message because it failed DMARC for the domain in your From address, and that domain's policy asks for rejection. Fix it by making SPF or DKIM pass for your own domain in every service that sends as you. The address you wrote to is fine.
No major mail service documents this exact text. 5.7.0 is the standard's catch-all security code, and the word DMARC carries the meaning.
How to read the result
Paste the whole bounce. The word DMARC is what puts the DMARC meanings first. A 5.7.0 that never mentions DMARC is a different bounce, most often a 550 5.7.0 message size violation.
Then find the domain the bounce names. DMARC checks the From domain your recipient would have seen, so a subdomain you send from needs its own setup. "gsmtp" in the text points to Gmail, and "protection.outlook.com" to Microsoft 365.
Who fixes it
Under the DMARC standard, RFC 9989, DMARC passes only when SPF or DKIM passes for a domain aligned with your From domain. A pass for the sending service's own domain does not count.
A service that sends as your domain. Turn on DKIM signing with your own domain there, or add it to your SPF record.
Everyone gets your mail except one recipient. A forward on their side probably broke SPF and DKIM. Signing DKIM with your domain is your part.
A mailing list's members bounced. The list resent your message with your address in From, and the list should use its own.
You never sent the message. Someone used your domain, and your policy worked.
What to do next
Send a test from every service that sends as your domain to a mailbox you can read, and check that each shows dmarc=pass. A bounce that lands soon after a DNS change proves little. The 550 5.7.509 page shows how to read those headers line by line.
Verifying addresses will not fix this one, because a verified address bounces the same way.
