# Use Email

> Agent 邮箱技能：通过 SMTP 发送邮件、IMAP 读取收件箱、自动等待并提取邮箱验证码/验证链接。当需要 (1) 发送邮件 (2) 读取/查询邮件 (3) 注册账号需要提供邮箱 (4) 接收邮箱验证码或点击验证链接 (5) 以邮箱身份完成验证 等场景时使用。Send email, read inbox, and extract verification codes via SMTP/IMAP. 本 skill 初始状态需先完成初始化配置。

- Skill: `abab996/use-email` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add abab996/use-email`
- Raw SKILL.md: https://api.skillmd.com/api/skills/abab996/use-email/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: abab996 (https://skillmd.com/u/abab996)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/abab996/use-email

---


# use-email（初始状态，尚未初始化）

本 skill 用于让 agent 拥有可自主使用的邮箱。当前尚未配置，请按以下步骤引导用户完成初始化。

## 第 0 步：检查是否为重装残留

检查本 skill 根目录（SKILL.md 所在目录）是否存在非空的 `config.json`：

- **存在** → 说明之前已配置过（skill 被更新/重装导致文档回退），直接运行：
  `python <skill目录>/scripts/Init.py --rebuild-doc`
  即可从现有配置重建正式文档，**不要**再向用户索要任何信息。
- **不存在** → 继续第 1 步。

## 第 1 步：向用户解释两个概念并收集信息

**agent 邮箱（必配）**：agent 专属邮箱，只属于 agent 自己。配置后 agent 可不经用户确认自由使用——自主注册网站、接收验证码、测试项目等。建议用户专门注册一个小号邮箱（如 QQ 邮箱），不要用常用邮箱。

需要收集：
1. agent 邮箱地址（如 `xxx@qq.com`）
2. 该邮箱的**授权码**（注意：不是登录密码）

若用户不知道如何获取授权码，按邮箱类型指导：
- **QQ 邮箱 / FOXMAIL**：网页版 设置 → 账户 → 开启 SMTP/IMAP 服务 → 生成授权码
- **163 / 126 邮箱**：网页版 设置 → POP3/SMTP/IMAP → 开启服务 → 设置授权码
- **Gmail**：Google 账号 → 安全性 → 先开启两步验证 → 应用专用密码
- **Outlook/Hotmail**：Microsoft 账号 → 安全 → 应用密码

## 第 2 步：SMTP/IMAP 服务器地址

Init.py 内置主流邮箱域名探测表（qq/foxmail/163/126/gmail/outlook/hotmail/live/sina/sohu/139/aliyun 等），**能自动识别的域名无需询问用户**。仅当邮箱域名不在表中时，才询问用户该邮箱的 SMTP 和 IMAP 服务器地址（可在邮箱服务商帮助页找到）。

## 第 3 步：询问是否配置用户邮箱（可选）

向用户解释：**用户邮箱**是用户实际使用的邮箱。配置后 agent 可以在**获得用户明确同意**的前提下临时使用（例如帮用户注册需要长期使用的账号）。每次使用前都必须用户确认，agent 不得自行猜测或沿用之前的许可。

- 用户同意配置 → 收集用户邮箱地址 + 授权码（同第 1、2 步方式）
- 用户拒绝 → 跳过，仅 agent 邮箱即可完整使用本 skill

## 第 4 步：执行初始化

运行 Init.py（把参数替换为实际值；服务器参数仅未知域名时才需要传）：

```bash
python <skill目录>/scripts/Init.py \
  --agent-email "xxx@qq.com" \
  --agent-auth-code "授权码" \
  --user-email "user@example.com" --user-auth-code "授权码"
# 未配置用户邮箱时：--user-email false（或不传任何 --user-* 参数）
# 未知域名时附加：--agent-smtp "smtp.xxx.com:465" --agent-imap "imap.xxx.com:993"
```

脚本会实测 SMTP/IMAP 登录并自动把本文档重写为正式使用说明。成功后向用户确认初始化完成；失败则把脚本的错误信息转告用户并修正后重试。

最后提醒用户：授权码只保存在本机 `config.json` 中，不会上传。

