# Send Email Finder to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "email-finder",
    "name": "Email Finder",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/psyduckler/email-finder",
    "canonicalUrl": "https://clawhub.ai/psyduckler/email-finder",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/email-finder",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=email-finder",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/find_emails.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "email-finder",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T21:00:55.635Z",
      "expiresAt": "2026-05-09T21:00:55.635Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=email-finder",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=email-finder",
        "contentDisposition": "attachment; filename=\"email-finder-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "email-finder"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/email-finder"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/email-finder",
    "downloadUrl": "https://openagent3.xyz/downloads/email-finder",
    "agentUrl": "https://openagent3.xyz/skills/email-finder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/email-finder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/email-finder/agent.md"
  }
}
```
## Documentation

### Email Finder

Discover email addresses associated with a domain using multiple methods.

### How It Works

Website Scraping — Fetches homepage, /contact, /about, /team pages and extracts emails via regex
Search Dorking — Searches for published emails in directories and search engines
Pattern Guessing — If a name is provided, generates common patterns (first@, first.last@, flast@, etc.)
DNS Hints — Checks MX/SPF/DMARC records to identify the email provider
SMTP Verification — Verifies all found/guessed emails using RCPT TO

### Dependencies

pip3 install dnspython

### Basic domain search

python3 scripts/find_emails.py example.com

### With name for pattern guessing

python3 scripts/find_emails.py example.com --name "John Smith"

### Skip SMTP verification

python3 scripts/find_emails.py example.com --no-verify

### Options

--name "First Last" — Enable pattern guessing for a specific person
--no-verify — Skip SMTP verification step
--timeout SECONDS — Connection timeout (default: 10)

### Output

JSON to stdout:

{
  "domain": "example.com",
  "provider": "Google Workspace",
  "mx": ["aspmx.l.google.com"],
  "spf": "v=spf1 include:_spf.google.com ~all",
  "dmarc": "v=DMARC1; p=reject; rua=mailto:dmarc@example.com",
  "emails_found": 2,
  "emails": [
    {
      "email": "info@example.com",
      "source": "scraped",
      "deliverable": "yes",
      "smtp_detail": "2.1.5 OK"
    },
    {
      "email": "john.smith@example.com",
      "source": "guessed",
      "deliverable": "catch-all",
      "smtp_detail": "2.1.5 OK"
    }
  ]
}

### Source values

ValueMeaningscrapedFound on the domain's websitesearchedFound via search/directory lookupguessedGenerated from name patternsdnsFound in DNS records (DMARC reports, etc.)

### Deliverable values

ValueMeaningyesServer accepted the recipientnoServer rejected the recipient (invalid)catch-allServer accepts all addressesunknownCould not determinenot_checkedVerification was skipped

### Rate Limiting

The script includes built-in rate limiting at every stage to protect your IP:

# Defaults: 0.5s between page fetches, 2s between SMTP checks, max 15 SMTP checks
python3 scripts/find_emails.py example.com --name "John Smith"

# Conservative settings for sensitive environments
python3 scripts/find_emails.py example.com --scrape-delay 1.0 --smtp-delay 4 --max-smtp-checks 8

# Just scrape, no SMTP (zero risk)
python3 scripts/find_emails.py example.com --no-verify

### Options

--scrape-delay SECONDS — Pause between website page fetches (default: 0.5)
--smtp-delay SECONDS — Pause between SMTP verification checks (default: 2.0)
--max-smtp-checks N — Max SMTP verifications per run (default: 15). Remaining emails get not_checked status.

### Why rate limiting matters

This tool hits both web servers and mail servers. Without rate limiting:

Web scraping — Aggressive crawling gets your IP blocked by WAFs (Cloudflare, etc.) and makes you look like a bot. Respectful delays avoid this.
SMTP verification — Mail servers flag IPs making rapid RCPT TO requests. Your IP can get blacklisted, affecting your ability to send real email.
Residential IPs are fragile — Unlike datacenter IPs, your home/office IP is shared across all your internet activity. Getting it blacklisted affects everything.

### Guidelines for agents

ScenarioRecommended approachSingle domain lookupDefaults are fineDomain + name pattern guessingDefaults are fine (15 SMTP checks covers all patterns)Multiple domains in sequenceAdd 5-10s pause between domains. Don't run more than 20 domains/dayJust need the email providerUse --no-verify — DNS-only, zero riskBulk prospecting (50+ domains)Use a paid service (Hunter.io, Apollo) or spread across multiple days

Key principle: The script is designed for targeted lookups, not mass scraping. If you need to process hundreds of domains, use a dedicated service with proper IP reputation management.

### Limitations

Website scraping depends on emails being visible in page source (won't find obfuscated/JS-rendered emails)
Search engines may block automated queries
SMTP verification requires outbound port 25 access
Catch-all domains accept all addresses — can't confirm real inboxes
Be respectful: the script adds delays between requests but don't run it in tight loops
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: psyduckler
- Version: 1.0.1
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-02T21:00:55.635Z
- Expires at: 2026-05-09T21:00:55.635Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/email-finder)
- [Send to Agent page](https://openagent3.xyz/skills/email-finder/agent)
- [JSON manifest](https://openagent3.xyz/skills/email-finder/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/email-finder/agent.md)
- [Download page](https://openagent3.xyz/downloads/email-finder)