{"id":283161,"date":"2026-02-23T10:34:11","date_gmt":"2026-02-23T10:34:11","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/domain-auth-checker\/"},"modified":"2026-02-23T10:33:57","modified_gmt":"2026-02-23T10:33:57","slug":"dmarcreport-domain-auth-checker","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/dmarcreport-domain-auth-checker\/","author":23454718,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.2","stable_tag":"1.7.2","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"DMARCREPORT Domain Auth Checker","header_author":"DuoCircle","header_description":"Check SPF, DMARC, BIMI, MTA-STS and TLS-RPT records for any domain","assets_banners_color":"","last_updated":"2026-02-23 10:33:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/dmarcreport.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":232,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.7.2":{"tag":"1.7.2","author":"duocircle","date":"2026-02-23 10:33:57"}},"upgrade_notice":{"1.6.0":"<p>SPF checker no longer requires an external API or reCAPTCHA. All checks run locally.<\/p>"},"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3467565,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.7.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3467547,"resolution":"1","location":"assets","locale":"","width":1253,"height":733}},"screenshots":{"1":"SPF Checker \u2014 record analysis with DNS lookup meter and tree view","2":"DMARC Checker \u2014 record analysis with policy insights","3":"BIMI Checker \u2014 record analysis with logo preview"}},"plugin_section":[],"plugin_tags":[256436,145801,229014,256437,145798],"plugin_category":[],"plugin_contributors":[256438],"plugin_business_model":[],"class_list":["post-283161","plugin","type-plugin","status-publish","hentry","plugin_tags-bimi","plugin_tags-dmarc","plugin_tags-email-authentication","plugin_tags-mta-sts","plugin_tags-spf","plugin_contributors-duocircle","plugin_committers-duocircle"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/dmarcreport-domain-auth-checker\/assets\/icon.svg?rev=3467565","icon":"https:\/\/ps.w.org\/dmarcreport-domain-auth-checker\/assets\/icon.svg?rev=3467565","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dmarcreport-domain-auth-checker\/assets\/screenshot-1.png?rev=3467547","caption":"SPF Checker \u2014 record analysis with DNS lookup meter and tree view"}],"raw_content":"<!--section=description-->\n<p>DMARCREPORT Domain Auth Checker lets you embed interactive email authentication record checkers on any WordPress page or post using a simple shortcode. All DNS lookups run locally through PHP's native <code>dns_get_record()<\/code> function. The MTA-STS checker also fetches the domain's MTA-STS policy file over HTTPS (see External Services below).<\/p>\n\n<h4>SPF Checker<\/h4>\n\n<ul>\n<li>Analyze SPF records for any domain<\/li>\n<li>Monitor DNS lookup count (RFC 7208 limit of 10)<\/li>\n<li>View SPF record structure in an interactive tree<\/li>\n<li>Per-mechanism lookup count breakdown<\/li>\n<li>Health status indicator (Good \/ At Limit \/ Critical)<\/li>\n<\/ul>\n\n<h4>DMARC Checker<\/h4>\n\n<ul>\n<li>Analyze DMARC policies and configuration<\/li>\n<li>Interactive DMARC record builder<\/li>\n<li>Tag parsing with descriptions<\/li>\n<li>DKIM and SPF alignment checks<\/li>\n<li>Reporting configuration (rua\/ruf) verification<\/li>\n<\/ul>\n\n<h4>TLS-RPT Checker<\/h4>\n\n<ul>\n<li>Check SMTP TLS Reporting configuration<\/li>\n<li>Validate mailto: and https: reporting endpoints<\/li>\n<li>Health scoring for TLS-RPT setup<\/li>\n<\/ul>\n\n<h4>BIMI Checker<\/h4>\n\n<ul>\n<li>Verify Brand Indicators for Message Identification setup<\/li>\n<li>Visual logo preview<\/li>\n<li>VMC (Verified Mark Certificate) detection<\/li>\n<li>Custom selector support<\/li>\n<\/ul>\n\n<h4>MTA-STS Checker<\/h4>\n\n<ul>\n<li>Verify MTA-STS DNS TXT record<\/li>\n<li>Fetch and parse the MTA-STS policy file<\/li>\n<li>Mode detection (enforce\/testing\/none)<\/li>\n<li>MX host listing from policy<\/li>\n<li>Max age analysis<\/li>\n<\/ul>\n\n<h4>Common Features<\/h4>\n\n<ul>\n<li>Copy to clipboard for domains and record values<\/li>\n<li>Fully responsive design (desktop and mobile)<\/li>\n<li>URL deep linking \u2014 share results via <code>?domain=example.com<\/code><\/li>\n<li>Visual health indicators for all checkers<\/li>\n<li>Powered by dmarcreport.com watermark<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<p>Use the <code>[dmarcreport_domain_auth_checker]<\/code> shortcode with the <code>type<\/code> attribute:<\/p>\n\n<ul>\n<li><strong>SPF<\/strong> (default): <code>[dmarcreport_domain_auth_checker]<\/code> or <code>[dmarcreport_domain_auth_checker type=\"spf\"]<\/code><\/li>\n<li><strong>DMARC<\/strong>: <code>[dmarcreport_domain_auth_checker type=\"dmarc\"]<\/code><\/li>\n<li><strong>TLS-RPT<\/strong>: <code>[dmarcreport_domain_auth_checker type=\"tlsrpt\"]<\/code><\/li>\n<li><strong>BIMI<\/strong>: <code>[dmarcreport_domain_auth_checker type=\"bimi\"]<\/code><\/li>\n<li><strong>MTA-STS<\/strong>: <code>[dmarcreport_domain_auth_checker type=\"mta-sts\"]<\/code><\/li>\n<\/ul>\n\n<p>All checkers support the <code>?domain=example.com<\/code> URL parameter for deep linking and auto-analysis.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin performs DNS lookups and, for the MTA-STS checker, an HTTPS request to the domain being analyzed. No data is sent to any third-party API or service operated by the plugin author.<\/p>\n\n<h4>DNS lookups<\/h4>\n\n<p>When a user submits a domain for analysis, the plugin uses PHP's built-in <code>dns_get_record()<\/code> function to query DNS records directly from your WordPress server. The domain name entered by the user is sent as a standard DNS query. This happens each time a user clicks the analyze button for any checker (SPF, DMARC, TLS-RPT, BIMI, or MTA-STS).<\/p>\n\n<p>DNS lookups are handled by your server's configured DNS resolver and are not routed through any external API.<\/p>\n\n<h4>MTA-STS policy file fetch<\/h4>\n\n<p>The MTA-STS checker fetches the domain's MTA-STS policy file by making an HTTPS GET request to:\n    https:\/\/mta-sts.{domain}\/.well-known\/mta-sts.txt<\/p>\n\n<p>This request is sent to the web server of the domain being analyzed (not to a third-party service). It is made each time a user analyzes a domain using the MTA-STS checker. Only the HTTP request itself is sent \u2014 no additional user data, cookies, or tracking information is included.<\/p>\n\n<p>Since this request goes directly to the analyzed domain's own web server, there is no third-party service provider with separate terms of use or privacy policy. The connection uses HTTPS with SSL verification enabled.<\/p>\n\n<h4>Outbound links<\/h4>\n\n<p>The plugin includes links to <a href=\"https:\/\/dmarcreport.com\">dmarcreport.com<\/a> and <a href=\"https:\/\/autospf.com\">autospf.com<\/a> (services by the plugin author, DuoCircle). These appear as \"Powered by\" watermarks and pricing call-to-action buttons within the checker interface. They are standard hyperlinks that open in a new browser tab when clicked by the user \u2014 no data is sent to these sites automatically by the plugin.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/dmarcreport.com\/terms-and-conditions\/\">dmarcreport.com Terms and Conditions<\/a><\/li>\n<li><a href=\"https:\/\/dmarcreport.com\/privacy-policy\/\">dmarcreport.com Privacy Policy<\/a><\/li>\n<li><a href=\"https:\/\/autospf.com\/terms-and-conditions\/\">autospf.com Terms and Conditions<\/a><\/li>\n<li><a href=\"https:\/\/autospf.com\/privacy-policy\/\">autospf.com Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>dmarcreport-domain-auth-checker<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Add the shortcode <code>[dmarcreport_domain_auth_checker]<\/code> to any page or post<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20connect%20to%20any%20external%20service%3F\"><h3>Does this plugin connect to any external service?<\/h3><\/dt>\n<dd><p>The SPF, DMARC, TLS-RPT, and BIMI checkers perform DNS lookups only, using PHP's native <code>dns_get_record()<\/code> function on your server. The MTA-STS checker additionally fetches the domain's MTA-STS policy file from <code>https:\/\/mta-sts.{domain}\/.well-known\/mta-sts.txt<\/code> over HTTPS. No data is sent to any third-party API or tracking service.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20checkers%20on%20different%20pages%3F\"><h3>Can I use multiple checkers on different pages?<\/h3><\/dt>\n<dd><p>Yes. Each shortcode instance is independent. You can have an SPF checker on one page and a DMARC checker on another.<\/p><\/dd>\n<dt id=\"what%20dns%20records%20does%20each%20checker%20look%20up%3F\"><h3>What DNS records does each checker look up?<\/h3><\/dt>\n<dd><ul>\n<li>SPF: TXT record at <code>{domain}<\/code><\/li>\n<li>DMARC: TXT record at <code>_dmarc.{domain}<\/code><\/li>\n<li>TLS-RPT: TXT record at <code>_smtp._tls.{domain}<\/code><\/li>\n<li>BIMI: TXT record at <code>{selector}._bimi.{domain}<\/code><\/li>\n<li>MTA-STS: TXT record at <code>_mta-sts.{domain}<\/code> and policy file at <code>https:\/\/mta-sts.{domain}\/.well-known\/mta-sts.txt<\/code><\/li>\n<\/ul><\/dd>\n<dt id=\"is%20there%20a%20limit%20on%20how%20many%20domains%20can%20be%20checked%3F\"><h3>Is there a limit on how many domains can be checked?<\/h3><\/dt>\n<dd><p>No built-in limit. Each check performs DNS lookups in real-time.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Renamed plugin to DMARCREPORT Domain Auth Checker<\/li>\n<li>Updated plugin slug to dmarcreport-domain-auth-checker<\/li>\n<li>Updated all internal identifiers (REST namespace, script handles, shortcode, menu slug) to use new slug<\/li>\n<li>Updated prefix from DAUTHC to DRDAUTHC for brand consistency<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Renamed plugin prefix from DAC to DAUTHC to meet WordPress.org naming requirements<\/li>\n<li>Added external services disclosure to readme<\/li>\n<li>Documented DNS lookups, MTA-STS policy fetch, and outbound links<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>SPF checker now runs locally (no external API dependency)<\/li>\n<li>Removed reCAPTCHA requirement<\/li>\n<li>All checkers use local WordPress REST API endpoints<\/li>\n<li>Added powered by dmarcreport.com watermark<\/li>\n<\/ul>","raw_excerpt":"Check SPF, DMARC, BIMI, MTA-STS and TLS-RPT records for any domain. Embed email authentication checkers with a shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/283161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=283161"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/duocircle"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=283161"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=283161"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=283161"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=283161"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=283161"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=283161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}