Skip to main content

A comprehensive email verification tool: domain validation, DNS/WHOIS lookup, blacklist check, MX record validation, SMTP handshake, and ping test.

Project description

Mailsight

CLI tool to validate email addresses using DNS lookups, optional WHOIS and Spamhaus checks, and (unless --dry-run) live SMTP verification.

Install

uv sync

Or install the package in editable mode:

uv pip install -e .

The mailsight command is provided by [project.scripts] in pyproject.toml.

Usage

mailsight user@example.com
python -m mailsight.command.cli user@example.com
python main.py user@example.com

Options

Flag Meaning
--dry-run Run DNS-based checks only (no WHOIS, SMTP, catch-all probe, ping, or expiration). Exits 0 on success.
--ping / -p Ping the primary MX host (ignored when combined with --dry-run).
--theme light|dark Catppuccin-based Rich theme.
--verbose / -v More logging.
--version Print version and exit.
--debug-info Print environment/debug details.

Exit code 0 means verification finished without a blocking error; 1 means a check failed (see the printed message and remediation hint).

Limitations

  • SMTP and catch-all checks open real connections to the MX host. Use responsibly and respect provider policies; prefer --dry-run for passive checks only.
  • WHOIS and DNSBL results depend on public data and may be slow or incomplete.
  • ping3 may require elevated privileges on some systems.

Development

uv run pytest -c config/pytest.ini
uv run ruff check --config config/ruff.toml src tests
uv run mypy --config config/mypy.ini src tests

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

mailsight-0.1.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

mailsight-0.1.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file mailsight-0.1.0.tar.gz.

File metadata

  • Download URL: mailsight-0.1.0.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for mailsight-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f2612d8962835bdff5c462e51ea5f30874fb3f354b5d073071390568efc7bcf9
MD5 f70430015be12670f0756b44355bf427
BLAKE2b-256 687ff78f2d81a1ca0ef002a476e628c803c4071a69d8bcd1d08c2e9d6e23dce6

See more details on using hashes here.

File details

Details for the file mailsight-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mailsight-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for mailsight-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3caf395d54fac94110fd5ce98e40dcf56eb4c6cefc33ac94a5b83590ff7a95aa
MD5 c05404322e39a80b552d1ba869c05a23
BLAKE2b-256 ebc7aa055437709b4385efb9b61db7670e403d6c6a5a348dbe32e6dce28ab61f

See more details on using hashes here.

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