npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

credmail

v1.0.2

Published

CredMail CLI — domain health checks from the terminal

Readme

CredMail CLI

Run full domain health checks from your terminal — no account, no login, no browser needed.

npx credmail check <domain> runs the same SPF, DKIM, DMARC, MX, blacklist, reputation, BIMI, MTA-STS, TLS-RPT, WHOIS, and DNS-propagation checks as the free web tool at credmail.com/check, and prints a terminal-friendly report with an overall health score.

Install

The CLI is published to npm as credmail.

Run it directly without installing (requires Node.js 18+):

npx credmail check example.com

Or install globally:

npm install -g credmail
credmail check example.com

Usage

Usage: credmail check <domain>

Run a full domain health check.

Options:
  --help, -h       Show help
  --version, -v    Show version

Examples:
  credmail check credmail.com
  npx credmail check example.com

The CLI accepts a bare domain (example.com). URLs, www. prefixes, and paths are stripped automatically (https://www.example.com/blog is treated as example.com). No API key or account is required.

What's checked

Each check produces a PASS, WARN, or FAIL status:

| Check | What it verifies | | --- | --- | | SPF | Sender Policy Framework record exists, has an all mechanism, and policy strictness (-all / ~all) | | DKIM | A signing key is published at a common selector._domainkey record | | DMARC | DMARC policy record, enforcement policy (none / quarantine / reject), and aggregate report address (rua) | | MX records | Mail exchange records exist and their priorities | | BIMI | Brand Indicators for Message Identification record and HTTPS logo | | MTA-STS | MTA Strict Transport Security DNS record and policy file | | TLS-RPT | TLS reporting record and report URI | | Blacklists | 107 DNS-based blacklists (Spamhaus, SORBS, UCEPROTECT, SURBL, and more), with delisting URLs for any listing | | Reputation | Estimated sending reputation across Gmail, Outlook, and Yahoo | | WHOIS | Registrar, creation/expiration dates, and nameservers | | DNS propagation | Cross-resolver consistency for your records |

Example output

$ npx credmail check credmail.com

  Domain Health Report  —  credmail.com
  ────────────────────────────────────────────────────────────
  Running checks... done (15.5s)

  Overall Score  53/100  Poor
  ███████████░░░░░░░░░░

  ⚠  SPF  WARN
     Record Present: Yes
     All Mechanism: ~all
     Includes: _spf.porkbun.com
     → Your SPF uses a softfail (~all). Consider using -all instead for stronger protection against spoofing.

  ✓  DKIM  PASS
     Found: Yes
     Selector: resend

  ⚠  DMARC  WARN
     Present: Yes
     Policy: none
     → Your DMARC policy is set to 'none', which only monitors. Upgrade to 'quarantine' or 'reject' once you've verified your reports.

  ✓  MX Records  PASS
     Count: 2

     MX Records:
       10  fwd1.porkbun.com
       20  fwd2.porkbun.com

  ✗  BIMI  FAIL
     Present: No
     → No BIMI record found. Add BIMI to display your brand logo in supported email clients.

  ✗  MTA-STS  FAIL
     Dns Present: No
     → No MTA-STS DNS record found. Add MTA-STS to enforce TLS encryption for inbound email.

  ✗  TLS-RPT  FAIL
     Present: No
     → No TLS-RPT record found. Add TLS-RPT to receive daily reports about TLS connectivity issues on your domain.

  ✓  Blacklists  PASS  (0/107 listed)
     ✓ Clean on all 107 blacklists

  ✓  Reputation  77/100
     ✓ Gmail: Likely to reach inbox with proper authentication
     ✓ Outlook / Microsoft 365: Good deliverability expected
     ✓ Yahoo / AOL: Should pass Yahoo's authentication checks

  ────────────────────────────────────────────────────────────
  Checked at 2026-08-12T12:27:43.251Z

The score is stable under normal network conditions: a single failed measurement (DNS timeout, WHOIS unreachable) is reported as UNKNOWN and counts as a neutral value with a fixed denominator, so it doesn't shift the score unpredictably. If the entire DNS layer is unreachable, the CLI prints UNKNOWN instead of a misleading score. A broader DNS resolver outage that affects multiple checks at once may still shift the number somewhat — those checks correctly report as unknown rather than guessing.

Exit codes

| Code | Meaning | | --- | --- | | 0 | Check completed (regardless of score) | | 1 | Invalid domain, unknown command, or unexpected error |

What the CLI doesn't do

The CLI covers the free, public domain health check only. For the rest, use the full web app at credmail.com:

  • Email verification — single and bulk address verification with deliverability scoring and list hygiene
  • AI agents — Fix, Verification, Pre-Ship, and Warmup agents that analyze your reports and write step-by-step remediation plans
  • Saved history & reports — account-based report history, saved reports, and trend tracking, plus public report sharing
  • Record generators, SPF flattening, DMARC simulator, and header analyzer — the full tool suite in Tools

Development

npm install
npm run build     # builds dist/ via build.mjs + tsc
npm link          # optional: use the local build as `credmail`

The CLI shares its check logic with the web app (lib/domain-checker.ts, lib/whois.ts, lib/dns-propagation.ts), so results are identical to the website.

License

MIT