CHAPTER 17
Beginner
DNS for Email Systems
Updated: May 15, 2026
25 min read
# CHAPTER 17
DNS for Email Systems
1. Introduction
Sending an email is easy. Ensuring that email actually lands in the recipient's Inbox—instead of the Spam folder—is one of the most complex engineering challenges on the internet. Because the original email protocol (SMTP) has absolutely zero built-in security, it is trivial for a hacker to forge an email to look like it came from the CEO of your company. To combat this massive global phishing threat, the tech industry weaponized DNS. In this chapter, we will explore the critical intersection of DNS and Email. We will review MX Records for inbound routing, and master the "Holy Trinity" of outbound email authentication: SPF, DKIM, and DMARC.2. Learning Objectives
By the end of this chapter, you will be able to:- Review the function of MX Records for routing incoming email.
- Define the Sender Policy Framework (SPF) and its role in IP authorization.
- Explain DomainKeys Identified Mail (DKIM) and cryptographic email signing.
- Understand how DMARC enforces SPF and DKIM policies.
- Configure DNS TXT records to guarantee high email deliverability.
3. Beginner-friendly Explanations
The Forged Letter: Imagine a criminal writes a threatening letter, signs it with the Mayor's name, and drops it in the mailbox. The post office delivers it because the envelope *says* it is from the Mayor. This is how email spoofing works.How do we stop it?
- SPF (The Guest List): The Mayor publishes a public list of the only 3 postmen allowed to carry his mail. If a letter arrives from a postman not on the list, it's fake.
- DKIM (The Wax Seal): The Mayor seals the envelope with his personal cryptographic wax stamp. If the seal is broken or missing, it's fake.
- DMARC (The Instructions): The Mayor publishes a rule: *"If a letter fails the Guest List or the Wax Seal, throw it in the trash immediately."*
4. Inbound Routing: The MX Record
As covered in Chapter 6, the MX (Mail Exchange) Record tells the world where to deliver your incoming mail. If you buy a Google Workspace account formycompany.com, Google will give you a list of 5 servers with different Priorities (1, 5, 10).
You add these 5 MX Records to your Authoritative DNS. When a client emails you, their server queries your MX records, picks Priority 1, and drops the email into your Google Inbox.
5. Outbound Authentication 1: SPF
SPF (Sender Policy Framework) proves *who* is allowed to send your mail. It is a simple TXT Record added to your DNS. *Example SPF Record:*v=spf1 include:spf.google.com ~all
-
Translation: *"Only Google's servers are legally allowed to send emails ending in
@mycompany.com. If an email arrives from any other IP address in the world (~all), treat it as suspicious spam."*
6. Outbound Authentication 2: DKIM
DKIM (DomainKeys Identified Mail) proves the email was not *altered* in transit. It uses public-key cryptography via a TXT Record.- 1. Your mail server mathematically signs every outbound email with a Private Key.
-
2.
You place the matching Public Key in a DNS TXT Record (e.g.,
google.domainkey.mycompany.com).
- 3. When the recipient receives the email, their server performs a DNS lookup, grabs your Public Key, and verifies the signature. If a hacker intercepted the email and changed the bank account number inside, the signature mathematically breaks, and the email is flagged as fake.
7. Outbound Authentication 3: DMARC
DMARC (Domain-based Message Authentication, Reporting, and Conformance) is the boss. SPF and DKIM are just tests. DMARC tells the recipient server what to do if the email *fails* those tests. It is another TXT Record (dmarc.mycompany.com).
*Example DMARC Record:*
v=DMARC1; p=reject; rua=mailto:admin@mycompany.com
-
Translation: *"If an email claims to be from me, but fails the SPF or DKIM tests, completely reject it (
p=reject). Do not even put it in the spam folder. And send a daily forensic report to my admin email so I can see who is trying to impersonate my company."*
8. Best Practices
-
Implement Incrementally: Never set your DMARC policy to
p=rejectimmediately. If you made a typo in your SPF record, you will accidentally block every single legitimate email your company sends! Always start withp=none(monitoring mode), review the daily XML reports to ensure legitimate mail is passing, upgrade top=quarantine(send to spam), and finally enforcep=reject.
9. Common Mistakes
-
The 10-Lookup Limit: The DNS protocol dictates that an SPF record cannot require more than 10 nested DNS lookups. If your marketing team uses Mailchimp, Salesforce, and Zendesk, and you
include:all of them in your SPF record, you will easily exceed the 10-lookup limit. When this happens, the recipient server automatically fails the SPF check, and all your corporate emails go to Spam.
10. Mini Project: Audit Email Security
Let's analyze the email security of a major corporation.- 1. Open terminal.
-
2.
Run
dig TXT microsoft.com
-
3.
Look for the SPF record (it will start with
v=spf1). You will see exactly which server networks Microsoft authorizes to send their mail.
-
4.
Run
dig TXT dmarc.microsoft.com
-
5.
Look at the
p=value. Is itrejectorquarantine? This tells you how aggressively Microsoft protects their domain from scammers.
11. Practice Exercises
- 1. Explain the mechanical sequence that occurs when a receiving mail server processes an incoming email protected by both SPF and DKIM.
- 2. Why is DMARC necessary if SPF and DKIM are already configured? What specific instruction does DMARC provide?
12. MCQs with Answers
Question 1
Which DNS TXT record contains a cryptographic Public Key utilized by receiving servers to verify that an email's content was not tampered with in transit?
Question 2
An organization wants to ensure that any spoofed phishing emails attempting to impersonate their brand are instantly deleted by the receiving server before reaching the user's inbox. Which DMARC policy should they enforce?
13. Interview Questions
- Q: A marketing department complains that their newsletters are landing in clients' spam folders. Walk me through the three specific DNS records you would audit to troubleshoot their deliverability.
- Q: Explain the mechanical difference between what SPF verifies versus what DKIM verifies in an email transaction.
- Q: What is the "10-lookup limit" vulnerability in an SPF record, and how does it cause legitimate emails to fail authentication?