# Send Email Verifier 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-verifier",
    "name": "Email Verifier",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/psyduckler/email-verifier",
    "canonicalUrl": "https://clawhub.ai/psyduckler/email-verifier",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/email-verifier",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=email-verifier",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/verify_email.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/email-verifier"
    },
    "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-verifier",
    "downloadUrl": "https://openagent3.xyz/downloads/email-verifier",
    "agentUrl": "https://openagent3.xyz/skills/email-verifier/agent",
    "manifestUrl": "https://openagent3.xyz/skills/email-verifier/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/email-verifier/agent.md"
  }
}
```
## Documentation

### Email Verifier

Verify whether email addresses are deliverable by connecting to the recipient's mail server and checking if it accepts the address — without actually sending any mail.

### How It Works

MX Lookup — Resolves the domain's mail exchange server
SMTP Handshake — Connects to the MX server on port 25
RCPT TO Check — Asks the server if it would accept mail for the address
Catch-All Detection — Tests a random address to detect catch-all domains

### Dependencies

pip3 install dnspython

### Single or multiple emails

python3 scripts/verify_email.py user@example.com another@domain.com

### From stdin

echo "user@example.com" | python3 scripts/verify_email.py --stdin

### From CSV (e.g., a lead list)

python3 scripts/verify_email.py --csv leads.csv --email-column "Contact Email"

### Options

--helo DOMAIN — HELO domain for SMTP greeting (default: verify.local)
--timeout SECONDS — Connection timeout (default: 10)

### Output

JSON array to stdout. Each result contains:

{
  "email": "user@example.com",
  "domain": "example.com",
  "mx_host": "aspmx.l.google.com",
  "smtp_code": 250,
  "smtp_response": "2.1.5 OK",
  "deliverable": "yes"
}

### Deliverability values

ValueMeaningyesServer accepted the recipientnoServer rejected the recipient (invalid)catch-allServer accepts all addresses — cannot confirm inbox existsunknownCould not determine (timeout, block, greylisting)

### Rate Limiting

The script includes built-in rate limiting to protect your IP reputation:

# Defaults: 1s between checks, max 20 per domain before 30s pause
python3 scripts/verify_email.py --csv leads.csv --email-column "Contact Email"

# Conservative: slower checks, lower burst limit
python3 scripts/verify_email.py --delay 3 --max-per-domain 10 --burst-pause 60 email@example.com

# Aggressive (not recommended from residential IPs)
python3 scripts/verify_email.py --delay 0.5 --max-per-domain 50 email@example.com

### Options

--delay SECONDS — Pause between each check (default: 1.0)
--max-per-domain N — Max checks to one domain before pausing (default: 20)
--burst-pause SECONDS — How long to pause after hitting the per-domain limit (default: 30)

### Why rate limiting matters

SMTP verification connects directly to mail servers. Without rate limiting:

Your IP gets blacklisted — Mail servers (especially Gmail, Microsoft) flag IPs that make many rapid RCPT TO requests. Once flagged, your IP may be blocked for hours or permanently.
Port 25 gets blocked — ISPs monitor outbound port 25 traffic. Unusual volume can trigger automatic blocks.
Greylisting increases — Servers that see rapid-fire checks start returning temporary failures, making your results less accurate.
It looks like spam reconnaissance — Because that's exactly what spammers do. Legitimate use requires responsible pacing.

### Guidelines for agents

ScenarioRecommended settingsQuick spot check (1-5 emails)Defaults are fineSmall lead list (10-50 emails)--delay 2 --max-per-domain 15Larger batch (50-200 emails)--delay 3 --max-per-domain 10 --burst-pause 60Bulk verification (200+)Use a dedicated service (ZeroBounce, NeverBounce) instead

Rule of thumb: Stay under 50 unique domain checks per day from a residential IP. For repeated checks to the same domain (pattern guessing), stay under 15 per session.

### Limitations

Catch-all domains accept all addresses; a "yes" doesn't guarantee a real inbox
Some servers block SMTP verification (disconnect or timeout) — result will be "unknown"
Greylisting temporarily rejects first attempts by design
Rate limiting — don't bulk-verify hundreds from one IP; use a dedicated service for large lists
Port 25 blocked — some ISPs/networks block outbound port 25; won't work from those environments
Residential IPs may get flagged if used heavily — for bulk verification, prefer services like ZeroBounce or NeverBounce
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: psyduckler
- Version: 1.0.1
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/email-verifier)
- [Send to Agent page](https://openagent3.xyz/skills/email-verifier/agent)
- [JSON manifest](https://openagent3.xyz/skills/email-verifier/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/email-verifier/agent.md)
- [Download page](https://openagent3.xyz/downloads/email-verifier)