I've created an SPF record on 123-Reg, which is working great. But my question is how Exchange servers know that an SPF record exists when they receive mail from a domain. How does Exchange know it needs to check the domain's DNS provider, 123-Reg in this instance, for a SPF record, in order to check the mail has come from an allowed sender/IP?



Exchange "knows" to do this if you have it configured to do this.

In Exchange Server 2003 you configure Sender ID filtering in GlobalSettings|Message Delivery and then enable it on the SMTP Virtual Server.

In Exchange Server 2007 and 2010 you enable and configure it on your Edge Transport server. If you don't have an Edge Transport server you can enable it on your Hub Transport server.


The author of the MTA (in this case Exchange) reads and complies with RFC 4408 and friends.

If everyone does everything right (you publish a proper SPF (TXT) record, the MTA retrieves and interprets it per the RFCs) things Just Work. If someone screws up their part of the deal things break.
(Ain't the internet a grand place?)

  • So does Exchange 2010 require any specific modifications in order to know to look for an SPF record? – PnP Sep 14 '12 at 19:41

When an Exchange mailserver with SPAM detection and SPF validation receives mail from a server IP with sender domain xyz.com the mailserver follows these steps:

  1. Does the domain xyz.com have an MX record for the server
  2. If there is no MX record with the IP, then the mailserver will check for the SPF record.
  3. If the server IP or network is in the SPF record the mailserver will receive the mail.

SPF allows mailservers to send mail from a domain without an MX record.

  • 2
    Mind using some Markdown formatting and standard English grammar so this is readable? It's a sea of random capitalization right now, and it makes my brain hurt :-) – voretaq7 Sep 14 '12 at 20:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.