Supernet Domain Health

Remediation Guide

Step-by-step instructions to fix every issue that Domain Health reports. Organized by module. Start with critical issues, then work through warnings.

SPF (Sender Policy Framework)

SPF tells receiving mail servers which IP addresses are authorized to send email for your domain. It's published as a TXT record at your domain's root.

NO_SPF_RECORD Critical

No SPF record found. SPF is required by Google, Yahoo, and Microsoft.

How to fix
  1. Log in to your DNS provider (Cloudflare, GoDaddy, Namecheap, etc.)
  2. Add a TXT record at your domain root with your email provider's SPF include. Examples:
Google Workspace: v=spf1 include:_spf.google.com ~all Microsoft 365: v=spf1 include:spf.protection.outlook.com ~all Generic: v=spf1 include:your-provider.com ~all

If you use multiple providers, combine them into one record: v=spf1 include:_spf.google.com include:sendgrid.net ~all

MULTIPLE_SPF_RECORDS Critical

Multiple v=spf1 TXT records found. RFC 7208 requires exactly one.

How to fix
  1. Open your DNS settings and find all TXT records starting with v=spf1
  2. Merge all include: directives into a single TXT record
  3. Delete the extra records — keep only one
SPF_TOO_MANY_LOOKUPS Critical

SPF record exceeds 10 DNS lookups. Results in PermError.

How to fix
  1. Each include:, a:, mx:, and redirect= mechanism counts as 1 lookup (nested includes count too)
  2. Remove unused includes for services you no longer use
  3. If you can't reduce below 10, use an SPF flattening service (e.g., AutoSPF, SPF Wizard) which replaces includes with direct IP ranges
SPF_PLUS_ALL Critical

SPF record ends with +all, which authorizes the entire internet to send as your domain.

How to fix

Change +all to ~all (soft fail) or -all (hard fail) in your SPF TXT record. Using +all provides no protection against spoofing.

SPF_MISSING_PROVIDER Warning

SPF record doesn't include the detected email provider's SPF domain.

How to fix

Add the appropriate include: for your email provider. Check your provider's documentation for the correct SPF include domain.

SPF_CHARS_AFTER_ALL Warning

Content exists after the "all" mechanism. Everything after "all" is ignored by receivers.

How to fix

Move any include: directives before the ~all or -all at the end. Remove any trailing content after the all mechanism.

SPF_VOID_LOOKUPS Warning

More than 2 void DNS lookups (RFC 7208 §4.6.4).

How to fix

Remove includes that point to domains with no DNS records. Each failed DNS lookup counts against a void lookup limit of 2.

SPF_DEPRECATED_PTR Warning

SPF record uses deprecated ptr mechanism.

How to fix

Replace ptr with explicit ip4: or ip6: entries. The ptr mechanism is deprecated per RFC 7208 due to poor performance and reliability.

DKIM (DomainKeys Identified Mail)

DKIM adds a cryptographic signature to outgoing emails. Receivers verify it via a public key published in DNS.

NO_DKIM_RECORD Critical

No DKIM selectors found. DKIM is required by Google, Yahoo, and Microsoft.

How to fix
  1. Log in to your email provider's admin console
  2. Find the DKIM settings (usually under Authentication or Domain Settings)
  3. Generate a DKIM key pair — your provider will give you a TXT record to add
  4. Add the CNAME or TXT record to your DNS as instructed
  5. Enable DKIM signing in your provider settings

Common selector names: google (Google Workspace), selector1/selector2 (Microsoft 365), s1/s2 (SendGrid)

DKIM_KEY_1024 Warning

DKIM key is 1024-bit. Upgrade to 2048-bit for better security.

How to fix
  1. Generate a new 2048-bit DKIM key in your email provider's admin console
  2. Update the DNS TXT record with the new public key
  3. Rotate out the old 1024-bit key after confirming the new one works
DKIM_KEY_REVOKED Warning

DKIM key has been revoked (empty p= tag).

How to fix

A revoked key (empty p=) is intentional if you've rotated to a new selector. Ensure at least one active DKIM selector exists. If this was unintentional, re-generate the key in your email provider.

DKIM_UNVERIFIABLE Warning

DKIM selectors could not be discovered. A security gateway (e.g. Proofpoint, Mimecast) was detected via MX records, which typically means DKIM is configured with custom selector names that cannot be discovered through standard DNS probing.

How to verify manually
  1. Send a test email from the domain and inspect the DKIM-Signature header — it contains the actual selector name in the s= tag
  2. Once you know the selector, verify it with a DNS query:
dig TXT selector._domainkey.yourdomain.com

This warning is informational — domains behind security gateways almost certainly have DKIM configured. The score reflects partial credit (8/15) rather than treating DKIM as missing.

DMARC (Domain-based Message Authentication)

DMARC tells receivers what to do when SPF or DKIM checks fail. It's published as a TXT record at _dmarc.yourdomain.com.

NO_DMARC_RECORD Warning

No DMARC record found. Required by Google, Yahoo, and Microsoft.

How to fix
  1. Add a TXT record at _dmarc.yourdomain.com
  2. Start with monitoring mode:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; pct=100

Monitor reports for 2-4 weeks, then upgrade to p=quarantine, then p=reject.

DMARC_POLICY_NONE Warning

DMARC policy is set to 'none'. No enforcement.

How to fix
  1. Review your DMARC aggregate reports to confirm all legitimate senders pass SPF/DKIM
  2. Upgrade to p=quarantine (failed emails go to spam)
  3. After confirming no legitimate mail is affected, upgrade to p=reject
DMARC_NO_RUA Warning

No aggregate reporting address (rua=) configured.

How to fix

Add rua=mailto:dmarc@yourdomain.com to your DMARC record. This lets you receive reports about who is sending email as your domain. Free DMARC report analyzers: Postmark, EasyDMARC, Dmarcian.

DMARC_EXTERNAL_RUA_UNAUTHORIZED Warning

External rua domain has no authorization record. Reports will be silently dropped.

How to fix

If your rua points to reports@external.com, the external domain must publish:

yourdomain.com._report._dmarc.external.com TXT "v=DMARC1"

Contact the external reporting service to add this authorization record, or use an email address on your own domain.

MX Records

MX records specify which mail servers accept email for your domain.

NO_MX_RECORDS Critical

Domain has no MX records. Cannot send or receive email.

How to fix
  1. Set up an email provider (Google Workspace, Microsoft 365, Zoho, etc.)
  2. Add the MX records they provide to your DNS
Google Workspace example: Priority 1: ASPMX.L.GOOGLE.COM Priority 5: ALT1.ASPMX.L.GOOGLE.COM Priority 5: ALT2.ASPMX.L.GOOGLE.COM
MX_NO_RESOLVE Critical

MX record hostname does not resolve to an IP address.

How to fix

Check your MX record hostnames — they must resolve to valid IP addresses. Common causes: typo in MX hostname, or the pointed-to mail server has been decommissioned. Update the MX record to point to your current email provider's servers.

MX_NO_FALLBACK Info

Only one MX record — no mail server redundancy.

How to fix

Most email providers give you multiple MX records with different priorities. Add all of them to your DNS. If your provider only offers one, this is informational — not a problem for most setups.

Blacklists (DNSBL)

DNS-based blacklists track IP addresses and domains associated with spam. Domain Health checks 22 blacklist zones across Tier 1 (major) and Tier 2 (minor) lists.

BLACKLISTED_TIER1 Warning

Listed on a major blacklist (Barracuda, SpamCop, or SURBL).

How to fix
  1. Identify the source of spam — compromised account, misconfigured mail server, or purchased lists
  2. Fix the root cause before requesting delisting
  3. Submit a delisting request at the blacklist's website:
  • Barracudabarracudacentral.org/lookups/lookup-reputation
  • SpamCopspamcop.net/bl.shtml (auto-delists after 24-48h if spam stops)
  • SURBLsurbl.org/surbl-analysis
  • Spamhauscheck.spamhaus.org (not checked from cloud but important to verify manually)
BLACKLISTED_TIER2 Info

Listed on a minor blacklist.

How to fix

Tier 2 blacklists have limited adoption. Some auto-delist after a period of clean behavior. If multiple Tier 2 listings appear, investigate whether your sending IP is shared (common with cloud email providers) or if there's an actual issue. Focus on Tier 1 listings first.

SSL/TLS Certificates

SSL certificates encrypt web traffic and are checked as a trust signal for the domain.

SSL_EXPIRED Warning

SSL certificate has expired.

How to fix
  1. Renew your SSL certificate through your hosting provider or certificate authority
  2. If using Cloudflare, Let's Encrypt, or similar — certificates auto-renew; check that auto-renewal is enabled and DNS is correctly configured
  3. If self-managing, set a calendar reminder 30 days before expiry
SSL_MISSING Warning

No SSL certificate found on port 443.

How to fix

Set up HTTPS on your domain. Free options: Cloudflare (proxy mode), Let's Encrypt (certbot). Most hosting providers include free SSL. If the domain is email-only with no website, this is less critical.

SSL_EXPIRING_7_DAYS Warning

SSL certificate expires within 7 days.

How to fix

Renew immediately. Check that auto-renewal is configured correctly — most providers support this. Verify DNS records haven't changed in a way that blocks validation.

Domain Age & Registration

Older domains have more sender reputation. Very new domains are flagged as suspicious by email providers.

DOMAIN_AGE_UNDER_7 Critical

Domain is less than 7 days old.

How to fix

Wait. Brand-new domains need time to build reputation. Do not send cold outreach for at least 2 weeks. During warmup:

  1. Set up SPF, DKIM, and DMARC immediately
  2. Send small volumes to engaged recipients who will open and reply
  3. Gradually increase volume over 4-6 weeks
DOMAIN_AGE_UNDER_30 / DOMAIN_AGE_UNDER_90 Warning

Domain is less than 30 or 90 days old.

How to fix

Continue warmup process. Keep volumes low and monitor deliverability. Domains under 90 days should avoid aggressive outreach volumes.

SHORT_REGISTRATION Info

Domain registration length is 1 year or less.

How to fix

Consider renewing your domain for 2+ years. Longer registration is a minor positive trust signal. Not urgent — focus on SPF/DKIM/DMARC first.

Reverse DNS (FCrDNS)

Reverse DNS maps an IP address back to a hostname. Forward-confirmed reverse DNS (FCrDNS) means the PTR record resolves back to the original IP.

NO_REVERSE_DNS Warning

MX server IPs have no PTR (reverse DNS) records.

How to fix

PTR records are set by whoever controls the IP address — usually your hosting provider or ISP, not your DNS registrar. Contact your email/hosting provider to set up a PTR record for your mail server IP. If using a managed email service (Google, Microsoft), PTR is already configured.

REVERSE_DNS_MISMATCH Warning

PTR hostname does not resolve back to the MX server IP.

How to fix

Ensure the PTR record points to a hostname that, when resolved with an A record, returns the same IP address. This is called Forward-confirmed reverse DNS (FCrDNS). Contact your hosting provider if the PTR record is incorrect.

MTA-STS (Strict Transport Security)

MTA-STS enforces TLS encryption for inbound email. It requires both a DNS TXT record and an HTTPS-hosted policy file.

NO_MTA_STS Info

No MTA-STS record found. Inbound mail transport is not enforcing TLS.

How to fix
  1. Add a TXT record at _mta-sts.yourdomain.com:
v=STSv1; id=20260208
  1. Host a policy file at https://mta-sts.yourdomain.com/.well-known/mta-sts.txt:
version: STSv1 mode: testing mx: *.google.com max_age: 604800
  1. Start with mode: testing, then switch to mode: enforce after monitoring
MTA_STS_MX_MISMATCH Warning

MTA-STS policy MX entries do not match actual MX records.

How to fix

Update the mx: lines in your MTA-STS policy file to match your current MX records. Wildcards are allowed (e.g., mx: *.google.com). Update the id in the DNS TXT record whenever you change the policy.

MTA_STS_INVALID_POLICY Warning

MTA-STS policy file is missing required fields.

How to fix

The policy file must include all four required fields: version, mode, mx, and max_age. Check that the file is served with content-type text/plain over HTTPS with a valid certificate.

TLSRPT (TLS Reporting)

TLSRPT (RFC 8460) lets you receive reports when sending servers fail to establish TLS connections to your domain.

NO_TLSRPT Info

No TLSRPT record found.

How to fix

Add a TXT record at _smtp._tls.yourdomain.com:

v=TLSRPTv1; rua=mailto:tlsrpt@yourdomain.com

This is most useful when paired with MTA-STS. Reports help identify TLS delivery failures.

TLSRPT_INVALID_SYNTAX / TLSRPT_MULTIPLE_RECORDS Warning

TLSRPT record has syntax errors or multiple records found.

How to fix

Ensure exactly one TXT record at _smtp._tls.yourdomain.com with format: v=TLSRPTv1; rua=mailto:address@domain.com. Remove any duplicate records.

BIMI (Brand Indicators for Message Identification)

BIMI displays your brand logo next to emails in supported inboxes. Requires DMARC enforcement (p=quarantine or p=reject) and optionally a VMC (Verified Mark Certificate).

BIMI_REQUIRES_DMARC_ENFORCEMENT Warning

BIMI detected but DMARC policy is "none".

How to fix

BIMI logos only display when DMARC policy is p=quarantine or p=reject. Upgrade your DMARC policy first, then BIMI will work automatically.

BIMI_NO_VMC Info

BIMI record found but no VMC (Verified Mark Certificate).

How to fix

A VMC is required for Gmail logo display. Purchase one from DigiCert or Entrust (the only accepted issuers). You'll need a trademarked logo in SVG Tiny PS format. Some providers (Apple Mail, Yahoo) show logos without a VMC.

BIMI_VMC_EXPIRED Warning

VMC (Verified Mark Certificate) has expired.

How to fix

Renew your VMC through DigiCert or Entrust. VMCs are typically valid for 1 year. Update the a= URL in your BIMI TXT record if the certificate URL changed.

Other Checks

Additional checks for domain deliverability and reputation.

DISPOSABLE_DOMAIN Critical

Domain is a known disposable/temporary email provider.

What this means

This domain is used for throwaway signups. Emails sent here are never read and addresses expire quickly. Remove these from your outreach lists. This is a receiving-mode check — it applies to prospect domains, not your sending domain.

DOMAIN_NXDOMAIN Critical

Domain does not resolve (NXDOMAIN).

What this means

The domain does not exist in DNS. No website, no email, no services. Remove from your outreach list. If this is your own domain, check that your DNS records are properly configured and the domain registration hasn't expired.

DOMAIN_NO_WEB_PRESENCE Info

No website found at this domain.

What this means

Domains used for cold email should ideally have a website. A blank domain can look suspicious to recipients who click through to verify your company. Consider setting up a simple landing page.