电子邮箱查找器:域名潜在客户挖掘与验证 - Openclaw Skills

作者:互联网

2026-03-27

AI教程

什么是 电子邮箱查找器?

电子邮箱查找器是一个技术实用工具,旨在简化识别任何给定域名联系信息的过程。通过将此功能集成到您的 Openclaw 技能库中,您可以利用多层方法自动发现关键决策者和支持人员。它超越了简单的爬取,结合了深层 DNS 记录分析与 SMTP 级验证,以确保外联活动的最高送达率和准确性。

该技能对于需要填补公司域名与特定联系人之间空白的团队特别有效。它能智能处理速率限制和 IP 信誉管理,使其成为进行针对性挖掘的可靠选择,且无被常见 Web 应用程序防火墙或邮件服务器列入黑名单的风险。

下载入口:https://github.com/openclaw/skills/tree/main/skills/psyduckler/email-finder

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install email-finder

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 email-finder。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

电子邮箱查找器 应用场景

  • 针对特定公司域名的销售挖掘和潜在客户生成
  • 为媒体宣传、公关或客座投稿识别联系人邮箱
  • 构建具有已验证送达状态的高质量联系人列表
  • 通过 DNS 分析调查域名邮箱提供商和安全配置
  • 在仅有姓名和域名时,针对个人进行自动模式推测
电子邮箱查找器 工作原理
  1. 网站爬取:该技能会爬取目标域名的首页以及联系我们或关于我们等关键子页面,使用正则表达式提取可见邮箱。
  2. 搜索指令:执行专门的搜索查询,以在公共目录和搜索引擎索引中定位已发布的邮箱。
  3. 模式推测:如果提供了个人姓名,该工具会根据常见的公司结构生成可能的邮箱排列(例如:名.姓@domain.com)。
  4. DNS 分析:检查 MX、SPF 和 DMARC 记录,以识别邮件托管商并评估域名信任信号。
  5. SMTP 验证:该技能尝试使用 RCPT TO 命令与邮件服务器进行握手,以确认该地址是否真实存在。

电子邮箱查找器 配置指南

要在您的 Openclaw 技能集合中使用此工具,请确保已安装必要的 Python 依赖项:

pip3 install dnspython

直接从 CLI 运行脚本进行基本域名搜索:

python3 scripts/find_emails.py example.com

如需搜索特定人员,请包含姓名标志:

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

电子邮箱查找器 数据架构与分类体系

该技能向标准输出发送详细的 JSON 数据,并按来源和送达状态对发现结果进行分类。

字段 描述
domain 目标公司域名
provider 识别出的邮箱服务(如 Google Workspace, Outlook)
emails_found 发现的唯一地址总数
source 邮箱来源:爬取、搜索、推测或 DNS
deliverable 状态:是、否、全接接收(catch-all)或未知
smtp_detail 用于验证审核的邮件服务器原始响应
name: email-finder
description: |
  Find email addresses for a domain by combining website scraping, search dorking,
  pattern guessing, DNS analysis, and SMTP verification. Use when prospecting leads,
  finding contact emails for outreach, or building contact lists from a company domain.
  Optionally provide a person's name to generate and verify common email patterns.

Email Finder

Discover email addresses associated with a domain using multiple methods.

How It Works

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

Dependencies

pip3 install dnspython

Usage

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

Value Meaning
scraped Found on the domain's website
searched Found via search/directory lookup
guessed Generated from name patterns
dns Found in DNS records (DMARC reports, etc.)

Deliverable values

Value Meaning
yes Server accepted the recipient
no Server rejected the recipient (invalid)
catch-all Server accepts all addresses
unknown Could not determine
not_checked Verification 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

Scenario Recommended approach
Single domain lookup Defaults are fine
Domain + name pattern guessing Defaults are fine (15 SMTP checks covers all patterns)
Multiple domains in sequence Add 5-10s pause between domains. Don't run more than 20 domains/day
Just need the email provider Use --no-verify — DNS-only, zero risk
Bulk 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