550 5.7.515.
This page explains who the rules apply to, what they require, and how a Lettr sending domain meets them. For the Google and Yahoo side, see Google & Yahoo Sender Requirements.
Who Is Affected
Microsoft announced the rules in spring 2025, for domains sending more than 5,000 emails per day to its consumer mail services. Its support article for the rejection error words the threshold as 5,000 or more messages to Microsoft consumer email services, all using the same domain in the5322.From address.
That means the count is per From domain, not per account, API key, or IP address. An account that sends from several domains has each domain counted on its own.
Microsoft says every sender benefits from these practices, even below 5,000 a day. The enforcement targets large senders first. Authenticating below the threshold costs nothing and keeps a domain ready if its volume grows.
What Microsoft Requires
Three points are easy to miss:
- SPF and DKIM must both pass. DMARC needs only one of them to align, but Microsoft requires both checks to pass.
- Alignment means the domains match. The
Fromdomain must match, or be a subdomain of, the domain SPF or DKIM validated. Microsoft’s FAQ describes it as ensuring the “From” domain matches the domain used by SPF and/or DKIM. p=noneis enough. Microsoft acceptsp=none,p=quarantine, orp=reject. It recommends moving gradually towardp=rejectonce all legitimate sources are aligned.
Hygiene Recommendations
Microsoft also lists practices it recommends for large senders. They sit outside the authentication gate, but Microsoft reserves the right to filter or block non-compliant senders.- A valid
FromorReply-Toaddress that reflects the real sending domain and can receive replies - A functional unsubscribe link that is easy to find, particularly for marketing or bulk mail
- Regular list cleaning and bounce management
- Accurate subject lines, no deceptive headers, and recipients who consented
Enforcement and the 550 5.7.515 Error
Microsoft’s announcement went through two stages. The original plan was to route non-compliant mail to the Junk folder first and reject later. In a later update to the announcement, Microsoft said it had decided to reject messages that fail the requirements, with enforcement starting May 5, 2025. A rejected message gets this response:5322.From address did not pass the required authentication level.
A 550 is a permanent failure code, so fix the cause before you send again.
How Lettr Meets the Requirements
A sending domain that is fully verified in Lettr covers the SPF and DKIM checks. DMARC is a record you publish yourself.SPF Alignment Needs the Bounce Domain
By default, bounce notifications use SparkPost’s shared bounce domain as the Return-Path. SPF can pass in that setup, but it does not align with yourFrom domain. DMARC then passes through DKIM alignment alone.
That satisfies Microsoft’s DMARC rule, which needs only one aligned check. To align SPF as well, which Microsoft prefers, switch on Use this sending domain as bounce domain in the domain’s Bounce Domain card. The toggle stays disabled until the CNAME record shows as valid. See Sending Domains and Custom Return-Path and MAIL FROM.
Check Your DMARC Record
Unsubscribe Headers in Lettr
Microsoft lists a functional unsubscribe link as a hygiene recommendation. In Lettr, outgoing mail falls into three groups:- Campaigns: every campaign email carries the
List-Unsubscribeheader and theList-Unsubscribe-Post: List-Unsubscribe=One-Clickheader. Lettr adds them automatically. - API sends with transactional set to false: Lettr’s own code does not add these headers to API sends. It passes
options.transactionalthrough to the sending infrastructure, and the default istrue. To rely on unsubscribe headers for an API send, check the headers of a delivered test message instead of assuming they are present. - Transactional API sends: these don’t get the headers, and they cannot be added by hand either.
List-UnsubscribeandList-Unsubscribe-Postare blocked in the customheadersfield of the send request.
transactional to false, which marks it as non-transactional:
data-msys-unsubscribe="1" attribute described in Sending Introduction and the Google and Yahoo article. See also Unsubscribe Best Practices.
Fixing a 550 5.7.515 Rejection
1
Read the authentication results
Find which of SPF, DKIM, or DMARC failed. Microsoft’s support article suggests checking the message header’s authentication results, and confirming the Return-Path domain matches the From domain.
2
Check the domain in Lettr
Open the sending domain and confirm every record is valid and the domain is approved. See Domain Verification Failures.
3
Publish a DMARC record
Add the
_dmarc TXT record if it is missing. p=none is enough.4
Check other senders on the same domain
Microsoft counts volume per From domain. If a CRM, help desk, or marketing tool also sends as your domain, it needs its own aligned SPF or DKIM. A missing record there can trigger the rejection even when Lettr is configured correctly.
5
Look at the SPF lookup limit
Microsoft’s FAQ warns that more than 10 DNS lookups in an SPF record can make the check fail. Reduce the number of
include: entries if the record has several.6
Send again
After the records validate, send a new message.
Related Topics
Google & Yahoo Requirements
The matching rules for Gmail and Yahoo
SPF, DKIM, and DMARC
How the three protocols work together
Custom Return-Path
Align SPF with your From domain
Bounce Diagnosis
Read bounce codes and decide what to do