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.1.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.1-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mailcat_osint-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 4113c5a53d259ba909218d9b28eb31f31095e3f63159ea57f57551f07277fd2b
MD5 4300bd06aab7bd05aafc601000cd4fd1
BLAKE2b-256 9c91819bf55281a148e70922c950ed5848c88561ab23448916f901012e12c251

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mailcat_osint-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f07979c1a660c226214999e0b2999d6f8fe93127c43d9c510c4a55fe7f5295ae
MD5 312c9622bda682177d2b5b5223cca7ed
BLAKE2b-256 b9e5680f85eeb37bf78767088bd5ff377cca94f6b1f6753b86ae50a1abc2f1e6

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