Skip to main content

The only cat who can find existing email addresses by nickname

Project description

mailcat


The only cat who can find existing email addresses by nickname.

Install

From PyPI (recommended):

pip install mailcat-osint

From source:

git clone https://github.com/sharsil/mailcat
cd mailcat
pip install .

Usage

Run it with a username:

mailcat username

Or as a module:

python -m mailcat username

It's recommended to run mailcat through Tor or a proxy — see Routing through Tor below.

mailcat --tor username
proxychains4 -q mailcat username

mailcat username --proxy http://1.2.3.4:8080

Batch mode

You can check multiple usernames in one run.

Pass several usernames as positional arguments:

mailcat alice bob charlie

Or supply a file with one username (or email address) per line:

mailcat --file usernames.txt

File format example:

alice
bob@proton.me
charlie

You can also combine both — positional names are merged with those from the file:

mailcat alice --file more_users.txt

When more than one username is resolved, a header is printed before each result block so the output is easy to follow:

[*] Checking username: alice
...
[*] Checking username: bob
...

Supported providers

26 active providers covering > 158 domains (plus ~50 Posteo alias domains). Active checks run by default; deprecated checks remain in the source for revival but are skipped on a default run. See the comment block above each function in src/mailcat/__init__.py for the upstream change that broke it and notes on how to revive it.

Name Domains Method Status
Gmail gmail.com SMTP Active
Yandex yandex.ru + 5 aliases SMTP Active
Protonmail protonmail.com + 3 aliases API Active
MailRu mail.ru + 4 other domains Registration Active
Rambler rambler.ru + 5 other domains Registration Active
Yahoo yahoo.com Registration Active
AOL aol.com Registration Active
Outlook outlook.com, hotmail.com, live.com, outlook.de, msn.com MSA credential lookup Active
Zoho zohomail.com Registration Active
Eclipso eclipso.eu + 9 other domains Registration Active
Posteo posteo.net + ~50 aliases Registration Active
Firemail firemail.de + 2 other domains Registration Active
Fastmail fastmail.com Headless Chromium Active
StartMail startmail.com Registration Active
Ukrnet ukr.net Registration Active
Runbox runbox.com + 29 other domains Registration Active
DuckGo duck.com Registration Active
emailn emailn.de Registration Active
aikq aikq.de + 40 other domains Registration Active
Vivaldi vivaldi.net Registration Active
mailDe mail.de SMTP Active
int.pl int.pl Headless Chromium Active
Interia interia.pl + 10 other domains Password recovery Active
t.pl t.pl + 8 other domains Registration Active
onet.pl onet.pl + 15 other domains Headless Chromium Active
Mailum cyberfear.com, mailum.com Registration Active
iCloud icloud.com, me.com, mac.com Account recovery Deprecated
HushMail hushmail.com + 5 other domains Registration Deprecated
Xmail xmail.net Registration Deprecated
Tutanota tutanota.com + 4 other domains Registration Deprecated
Mailbox.org mailbox.org Registration Deprecated
WP wp.pl Registration Deprecated
O2 o2.pl Registration Deprecated
Gazeta.pl gazeta.pl Registration Deprecated

Troubleshooting

Use -m or --max-connections if you get connection errors (Mailcat does 10 parallel connections max by default).

Routing through Tor

The SMTP-based checks (gmail, yandex, mailDe) reach the destination provider's MX servers on TCP port 25. Most residential ISPs and every major cloud provider (AWS, GCP, Azure, Heroku, …) block outbound port 25 as an anti-spam measure, so these checks will time out with messages like:

Error while checking gmail: Timed out connecting to gmail-smtp-in.l.google.com. on port 25

Tor exit nodes generally do not have port 25 blocked, which makes routing through Tor the easiest fix. Mailcat has built-in Tor support via the --tor flag — it expects a SOCKS5 proxy at 127.0.0.1:9050 (the default when you run tor locally).

# 1. Start Tor (macOS / Linux)
brew install tor && tor &        # macOS
sudo systemctl start tor          # Linux with systemd

# 2. Run mailcat through Tor — SMTP checks now succeed
mailcat alex --tor

# Or restrict to just the providers that need it
mailcat alex --tor -p gmail -p yandex -p mailDe

Tor adds ~5–15 s of latency per request, but it is the only reliable way to make the SMTP-25 checks work from a typical home or cloud environment. A clean VPS with unblocked egress 25 (Hetzner after verification, OVH, Vultr) works equally well — point mailcat at it via --proxy or just run mailcat on the VPS itself.

The HTTP-based checks (everything else) work fine from any network and do not require Tor.

SOWEL classification

This tool uses the following OSINT techniques:

Mentions and articles

OSINTEditor Sunday Briefing: Sensational Headlines and Kuomintang Chairmanship Elections

Michael Buzzel: 237 - The Huge OSINT Show by The Privacy, Security, & OSINT Show

bellingcat: First Steps to Getting Started in Open Source Research

OS2INT verifying email addresses using Mailcat

hwosint - Twitter post

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

mailcat_osint-0.1.0.tar.gz (54.1 kB view details)

Uploaded Source

Built Distribution

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

mailcat_osint-0.1.0-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mailcat_osint-0.1.0.tar.gz
  • Upload date:
  • Size: 54.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for mailcat_osint-0.1.0.tar.gz
Algorithm Hash digest
SHA256 779dc7f848989815136ff1e084c4d91b3360d97a8452a5e9981f13c2022cf904
MD5 68fa746530538b487f25ce296a7df3d1
BLAKE2b-256 3d730032a857702ba8131dc627dd786219b9e6ef4821319445770df53074b315

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mailcat_osint-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for mailcat_osint-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97c9589eeef95fca472aa71dc9b5c93cecf3bdea070ab9d7ae2a36cea734842b
MD5 2f8de02b7a4d305334166503055dd96f
BLAKE2b-256 60c180fa20cf1d1be8a0365da10d08749199294ca15e6eb8777f3ed86989121c

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