Skip to main content

Email intelligence & SMTP verification CLI — DNS, Mailgun validation, GeoIP, ASN, risk scoring

Project description

email-verify

Email Intelligence & SMTP Verification Tool

DNS · Mailgun Validation API · GeoIP · ASN · Risk Scoring


Install

uv tool install email-verify

Or from source:

git clone https://github.com/craigderington/email-verify
cd email-verify
uv tool install .

Setup

Generate a secrets.env template in the current directory:

email-verify --init

Edit secrets.env and fill in your Mailgun credentials:

MAILGUN_API_KEY=key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MAILGUN_DOMAIN=mg.yourdomain.com
MAILGUN_FROM=verify@yourdomain.com

Note: The Email Validation API requires the Mailgun Email Validation add-on (InboxReady).
Your Private API key is found at: Mailgun Dashboard → Account → API Keys.

Usage

# Interactive TUI (dark terminal dashboard)
email-verify

# Single address — CLI output
email-verify user@example.com

# Point at a secrets file in a non-standard location
email-verify --secrets /etc/email-verify/secrets.env user@example.com

# Print version
email-verify --version

What it checks

Layer Checks
Syntax RFC-compliant regex
Domain Disposable domain list, free provider detection
DNS MX records, A records, SPF, DMARC
Mailgun Validation API is_valid, mailbox_verification (MX RCPT probe via Mailgun infra), is_disposable_address, is_role_address, did_you_mean, risk classification
Send Probe Authenticated message dispatch via Mailgun Messages API
GeoIP Country, region, city, ZIP, lat/lon, timezone (ip-api.com)
ASN / Org ISP, organisation, AS number (ipinfo.io)
Risk Score 0–100 composite with labelled flags

Risk scoring

Signal Points
Disposable domain (local list) +60
No MX records +40
Mailgun: address invalid +60
Mailgun: mailbox does not exist +55
Mailgun: disposable address +40
Mailgun: HIGH risk classification +30
Mailgun: MEDIUM risk classification +15
Mailgun: mailbox inconclusive +15
Role address +10
No SPF record +10
No DMARC record +10

secrets.env lookup order

  1. Path passed via --secrets FILE
  2. EMAIL_VERIFY_SECRETS environment variable
  3. secrets.env in the same directory as the installed package
  4. secrets.env in the current working directory

Development

git clone https://github.com/craigderington/email-verify
cd email-verify
uv sync
uv run email-verify --version

License

MIT © Craig Derington

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mg_email_verify-0.2.6.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mg_email_verify-0.2.6-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file mg_email_verify-0.2.6.tar.gz.

File metadata

  • Download URL: mg_email_verify-0.2.6.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mg_email_verify-0.2.6.tar.gz
Algorithm Hash digest
SHA256 f48c53790c385f91617c04fdd953dd76149e0ef810f8bdd825d5beca0cf74410
MD5 b96256ff1d98281cd66bfc4f3739d313
BLAKE2b-256 413b6950e8e5540055e9e15e67b1d22d4f343539d15868db3bbdee0f57adccd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for mg_email_verify-0.2.6.tar.gz:

Publisher: publish.yml on craigderington/email-verify

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mg_email_verify-0.2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for mg_email_verify-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 89cb056bb99c46151ba072938db68907442bbf393fcdf5ff5a6a0cd3a459a982
MD5 ca2e6ed030ba168a31f740475476a258
BLAKE2b-256 d869d938149eaf4a32271075d792bab572d01608a11a355b2d41038a96beefa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mg_email_verify-0.2.6-py3-none-any.whl:

Publisher: publish.yml on craigderington/email-verify

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page