email-dns-tools/dmarc-validator/index.html
2026-01-14 13:55:59 +01:00

81 lines
3.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DMARC Record Validator - Validate DMARC DNS Records</title>
<link rel="stylesheet" href="/assets/styles/main.css">
<script type="module" src="/assets/scripts/validator.js"></script>
</head>
<body>
<h1>DMARC Record Validator</h1>
<label for="record">DNS Record</label><br>
<input id="record" type="text" placeholder="v=DMARC1; ..." autocapitalize="off" spellcheck="false">
<main>
<h2>Paste a DMARC DNS record into the input field to check if it is valid.</h2>
<p id="error" class="validation-result">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM231 231C240.4 221.6 255.6 221.6 264.9 231L319.9 286L374.9 231C384.3 221.6 399.5 221.6 408.8 231C418.1 240.4 418.2 255.6 408.8 264.9L353.8 319.9L408.8 374.9C418.2 384.3 418.2 399.5 408.8 408.8C399.4 418.1 384.2 418.2 374.9 408.8L319.9 353.8L264.9 408.8C255.5 418.2 240.3 418.2 231 408.8C221.7 399.4 221.6 384.2 231 374.9L286 319.9L231 264.9C221.6 255.5 221.6 240.3 231 231z"/></svg>
<span id="error-message"></span>
</p>
<p id="success" class="validation-result">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="currentColor" d="M320 576C178.6 576 64 461.4 64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576zM438 209.7C427.3 201.9 412.3 204.3 404.5 215L285.1 379.2L233 327.1C223.6 317.7 208.4 317.7 199.1 327.1C189.8 336.5 189.7 351.7 199.1 361L271.1 433C276.1 438 282.9 440.5 289.9 440C296.9 439.5 303.3 435.9 307.4 430.2L443.3 243.2C451.1 232.5 448.7 217.5 438 209.7z"/></svg>
<span>Validation Success</span>
</p>
<p id="result-placeholder" class="validation-result"></p>
<p>
DMARC is a standard for web servers to tell how to handle validation errors in SPF and DKIM.
It is a DNS TXT record with different values, defining rules on when to reject the email, how to report
failures etc.
</p>
<p>
The TXT record itself must be on the _dmarc subdomain of the email domain. E.g. emails from example.com
must have a DMARC record at _dmarc.example.com.
</p>
<p>
The content is a list of tags, separated by a semicolon. It must always start with "v=DMARC1" so the
DMARC record can be easily identified.
</p>
<p>
The most important tags are:
</p>
<ul>
<li>
<b>p</b>: Tells what to do with emails that fail validation. Values can be "none" (do nothing),
"quarantine" (treat email as suspicious - e.g. place it in the spam folder) or
"reject" (outright discard the email upon receival). This tag is required and must be placed after
the "v=DMARC1" tag.
</li>
<li>
<b>adkim</b>: Tells how strictly to handle DKIM validation errors. Values can be "r" (relaxed, this
is the default) or "s" (strict).
</li>
<li>
<b>aspf</b>: Tells how strictly to handle SPF validation errors. Like adkim, values can be "r"
(relaxed, this is the default) or "s" (strict).
</li>
</ul>
<p>
A full list of rules can be found on the
<a href="https://datatracker.ietf.org/doc/html/rfc7489#section-6.3" target="_blank">DMARC specification page</a>.
</p>
<center>
<h3>More tools:</h3>
<a href="/dmarc-creator">DMARC Creator Tool</a>
</center>
</main>
</body>
</html>