What happens if a domain has no MX record but has SPF?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

It can send email but can't receive it. Those are independent capabilities.

SPF records live in DNS and authorize outbound sending. They tell receiving mail servers which IPs are allowed to send email for your domain. SPF has nothing to do with incoming mail.

MX records tell other mail servers where to deliver email addressed to your domain. No MX record means there's no designated mail server to receive email. Sending servers will typically interpret a missing MX record as "this domain can't receive email" and either bounce the message or fall back to trying the domain's A record (behavior varies by implementation).

So a domain with SPF but no MX is in an unusual but valid state: it can send authenticated email, but replies go nowhere. There are legitimate use cases for this. Some domains send transactional or notification email but are explicitly not set up to handle replies. In that case, a missing MX (or a null MX record, which is the RFC-specified way to indicate "this domain accepts no mail") is intentional.

If you're in this situation unintentionally, either you need to add an MX record pointing to your mail server or your mail provider, or you should add a null MX record (0 .) to make it explicit that the domain doesn't accept incoming mail. Our free Review My Emails Email Header Analyzer can help you inspect how your domain is configured. For DNS record setup specifically, check with your SPF and domain host documentation.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Confirm my no-reply domain setup

I've set up SPF on {domain} for sending transactional notifications, but I don't want it to receive email. Can you confirm whether not having an MX record is the right approach, or whether I should add a null MX record instead? I want to make sure my setup won't cause issues with sending or create unexpected bounce behavior for people who try to reply.

Edit the yellow boxes, then send to the AI of your choice.