Mailaccess

0.18.7

Investigates an email address across 5,300+ platforms and breach sources, and harvests the email addresses of a domain

  • Verified 16 Oct 2026
  • pip 0.18.7
  • MIT
  • 1.4k stars
  • Dual-use

Install and run

  1. otlite install mailaccess

    Installs mailaccess==0.18.7 into its own virtualenv, with mailaccess[browser]==0.18.7, playwright>=1.49. otlite lists what it will install and asks before it starts.

  2. otlite run mailaccess -- e:ada@example.com

    mailaccess receives mailaccess --no-banner investigate ada@example.com

    otlite run mailaccess -- d:example.com

    mailaccess receives mailaccess --no-banner harvest-emails --domain example.com

No otlite yet? Install it in one line
curl -fsSL https://get.otinstaller.com/otlite | sh

Linux and macOS, no Docker. It uses your Python and pipx when both are there, and otherwise brings its own Python. About otlite · otlite docs

Before you run it

  • Dual-use. otlite prints this before installing it: You are solely responsible for how you use these tools and for complying with all applicable laws. Use them only on targets you are authorized to investigate.
  • Downloads Chromium. The install also fetches a Chromium build for Playwright into the tool's own folder under ~/.otlite/tools/mailaccess.

What it takes

Typed inputs after -- become Mailaccess's own arguments. Anything else after -- passes through unchanged, so every option of the tool still works.

InputWith otlitemailaccess receives
Emaile:otlite run mailaccess -- e:ada@example.commailaccess --no-banner investigate ada@example.com
Domaind:otlite run mailaccess -- d:example.commailaccess --no-banner harvest-emails --domain example.com

otlite always passes --no-banner first.

What a run leaves

Every run is saved under results/ where you run otlite (or --output, or OTLITE_RESULTS_DIR): what the tool printed, a sidecar with how it ran, and an envelope.

  • results/mailaccess/ada@example.com/<time>_mailaccess_ada@example.com_<run id>.txt
  • results/mailaccess/ada@example.com/<time>_mailaccess_ada@example.com_<run id>.meta.json
  • results/mailaccess/ada@example.com/<time>_mailaccess_ada@example.com_<run id>.envelope.json
{
  "envelope": 1,
  "tool": "mailaccess@0.18.7",
  "runtime": "otlite",
  "input": { "target": "ada@example.com" },
  "case": null,
  "started_at": "…", "ended_at": "…", "duration_ms": …,
  "exit_code": 0,
  "status": "complete",
  "entities": [{ "type": "url", "value": "…" }, …],
  "warnings": [],
  "output": { "path": "results/mailaccess/ada@example.com/<time>_mailaccess_ada@example.com_<run id>.txt", "sha256": "…", "bytes": … }
}
The envelope's shape, the same for every tool; values elided. Its entities are the emails, domains, IP addresses and URLs found in the output, or the tool's own when it prints them.
otlite results --tool mailaccess
otlite extract mailaccess
otlite diff mailaccess ada@example.com

List the saved runs, pull out every indicator, or compare the two latest runs against the same target.

With other tools

These run it with every other installed tool that takes the same input, a few at a time, and save each run:

otlite run --all e:ada@example.com
otlite auto ada@example.com

Related tools

All 47 tools →
Esc

Try

↑ ↓ to move↵ to open