550 5.7.23: SPF validation failed

At a glance

A 5.7.23 bounce means the receiving server checked SPF for your domain and the server that sent the message is not on the list. The message was refused as possibly forged.

What it means

SPF lets a domain publish, in DNS, which servers may send mail for it. RFC 7372 §3.2 defines two enhanced codes for SPF:

Both appear in the IANA registry. A 550 in front makes the failure permanent: the receiver will not accept this message from this server.

Common causes

How providers use it

Microsoft's Exchange Online NDR reference lists 5.7.23 as an SPF violation. Google's reference lists SPF problems under other codes: 5.7.26 (SPF hard fail or no SPF or DKIM pass), 5.7.27 for bulk senders, and 451 4.7.24 for suspicious SPF entries (Google's SMTP error reference).

How to fix it

  1. Find the sending IP in the bounce or in the original message headers, and work out which service owns it.
  2. Make a list of every system that sends mail with your domain: your mailbox provider, marketing tools, billing, support, servers.
  3. Run your domain through the SPF checker to see the current record and any errors.
  4. Add the missing service, using the include or IP the service documents. The SPF generator builds a valid record.
  5. Also sign with DKIM (DKIM checker). Google's sender guidelines need SPF or DKIM from every sender, and both from bulk senders.
  6. Resend once the record has been updated in DNS.

What to do with the address

Keep it. The recipient's mailbox is fine; the problem is your domain's DNS.

See every bounce code in the dictionary.

Many bounces from addresses that do not exist can be avoided: check an address with our free email checker, or clean a whole list before you send.

How we wrote this: drafted by the email-validation.org team with the help of AI writing tools, from our product documentation and the sources linked in the text.

Updated · Maintained by the email-validation.org team