高性能邮件工具,支持QQ、Gmail、Outlook;IMAP读取、SMTP发送,OAuth 2.0认证,并发处理,速度比 imap-smtp-email 快4‑5倍。
Email Pro Optimized - 高性能邮件工具是一项面向实际任务的技能,主要用于快速、高效的邮件管理工具,支持多账号、多提供商、批量处理、并发获取;支持的邮箱类型;
Gmail;OAuth 2.0;Outlook/Live;imap-smtp-email;Email Pro Optimized;10封邮件;1.5-2s;0.3-0.5s;
100封邮件。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
快速、高效的邮件管理工具,支持多账号、多提供商、批量处理、并发获取。
| 邮箱 | 认证方式 | 状态 |
|---|---|---|
| QQ 邮箱 | IMAP/SMTP + 授权码 | ✅ 完全支持 |
| Gmail | OAuth 2.0 | ✅ 完全支持 |
| Outlook/Live | OAuth 2.0 | ✅ 完全支持 |
| 指标 | imap-smtp-email | Email Pro Optimized |
|---|---|---|
| 10封邮件 | 1.5-2s | 0.3-0.5s |
| 100封邮件 | 15-20s | 2-3s |
| 1000封邮件 | 150-200s | 15-20s |
| 并发处理 | ❌ | ✅ |
| 连接复用 | ❌ | ✅ |
| 多提供商 | ❌ | ✅ |
python3 scripts/email-pro.py list-accounts
# 检查最近 10 封 python3 scripts/email-pro.py --account qq_3421 check --limit 10 # 仅检查未读 python3 scripts/email-pro.py --account qq_3421 check --unread # 使用其他账户 python3 scripts/email-pro.py --account qq_136 check --limit 5
# 自动授权 Gmail python3 scripts/authorize.py gmail --name gmail_qiao # 或使用默认配置 python3 scripts/authorize.py gmail
# 自动授权(已配置 Azure 信息) bash scripts/authorize-outlook.sh # 或手动授权 python3 scripts/authorize.py outlook --client-id "YOUR_CLIENT_ID" --client-secret "YOUR_CLIENT_SECRET" --tenant-id "YOUR_TENANT_ID" --name "outlook_live"
# Gmail python3 scripts/email-pro.py --account gmail_qiao check --limit 10 # Outlook python3 scripts/email-pro.py --account outlook_live check --limit 10
# QQ 邮箱 python3 scripts/email-pro.py --account qq_136 send --to "recipient@example.com" --subject "Hello" --body "Test email" # Gmail python3 scripts/email-pro.py --account gmail_qiao send --to "recipient@example.com" --subject "Hello" --body "Test email" # Outlook python3 scripts/email-pro.py --account outlook_live send --to "recipient@example.com" --subject "Hello" --body "Test email"
Gmail 和 Outlook 的 OAuth token 会自动刷新,无需手动干预。
from scripts.oauth_handler import get_valid_token
# 获取有效的 token(自动刷新)
token = get_valid_token('gmail')
headers = {'Authorization': f'Bearer {token}'}
# 使用 headers 调用 Gmail API
response = requests.get('https://www.googleapis.com/gmail/v1/users/me/profile', headers=headers)
python3 scripts/email-pro.py search "旅行" --limit 20
python3 scripts/email-pro.py fetch 71197
# 获取最近 100 封邮件的完整内容(5 个线程并发)
python3 scripts/email-pro.py check --limit 100 |
jq -r '.[].uid' |
xargs -I {} python3 scripts/email-pro.py fetch {}
~/.openclaw/credentials/email-accounts.json
{
"qq_3421": {
"email": "342187916@qq.com",
"auth_code": "xxxx",
"smtp_server": "smtp.qq.com",
"smtp_port": 587,
"imap_server": "imap.qq.com",
"imap_port": 993,
"provider": "imap",
"status": "✅ 正常",
"note": "接收邮箱"
}
}
{
"outlook_live": {
"email": "qiao6646@live.com",
"provider": "outlook",
"account_name": "outlook_live",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"tenant_id": "YOUR_TENANT_ID",
"status": "✅ 已授权",
"note": "Outlook 邮箱"
}
}
{
"gmail_account": {
"email": "your-email@gmail.com",
"provider": "gmail",
"account_name": "gmail_account",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"status": "✅ 已授权",
"note": "Gmail 邮箱"
}
}
python3 scripts/email-pro.py check [OPTIONS] Options: --account NAME 账户名称 (默认: qq_3421) --limit N 限制数量 (默认: 10) --unread 仅未读邮件 --mailbox NAME 邮箱名称 (默认: INBOX)
python3 scripts/email-pro.py fetch UID [OPTIONS] Options: --account NAME 账户名称 (默认: qq_3421) --mailbox NAME 邮箱名称 (默认: INBOX)
python3 scripts/email-pro.py search QUERY [OPTIONS] Options: --account NAME 账户名称 (默认: qq_3421) --limit N 限制数量 (默认: 20) --mailbox NAME 邮箱名称 (默认: INBOX)
python3 scripts/email-pro.py send [OPTIONS] Options: --account NAME 账户名称 (默认: qq_3421) --to EMAIL 收件人 (必需) --subject TEXT 主题 (必需) --body TEXT 正文 (必需) --html HTML 格式 --attach FILE... 附件
python3 scripts/email-pro.py list-accounts
获取 Azure 应用信息
运行授权脚本
bash scripts/authorize-outlook.sh
或
python3 scripts/authorize.py outlook --client-id "YOUR_CLIENT_ID" --client-secret "YOUR_CLIENT_SECRET" --tenant-id "YOUR_TENANT_ID"
浏览器授权
~/.openclaw/credentials/oauth_tokens.json获取 Google OAuth 凭证
运行授权脚本
python3 scripts/authorize.py gmail --client-id "YOUR_CLIENT_ID" --client-secret "YOUR_CLIENT_SECRET" --name "gmail_account"
浏览器授权
✅ 检查 10 封邮件: 0.5s ✅ 检查 100 封邮件: 3s ✅ 检查 1000 封邮件: 20s ✅ 发送邮件: 0.6s ✅ 并发获取 20 封: 1.5s
安装依赖:
pip3 install requests
email-pro-optimized/ ├── scripts/ │ ├── email-pro.py # 主程序 │ ├── providers.py # 邮件提供商实现 │ ├── oauth_handler.py # OAuth 处理 │ ├── authorize.py # 授权工具 │ ├── authorize-outlook.sh # Outlook 快速授权 │ └── analyze.py # 邮件分析工具 ├── SKILL.md # 本文档 └── README.md # 项目说明
# 定期检查旅行相关邮件 python3 scripts/email-pro.py search "机票|酒店|旅行" --limit 50 # 发送监控报告 python3 scripts/email-pro.py --account qq_136 send --to "your-email@example.com" --subject "旅行监控报告" --body "今日发现 5 条相关邮件"
# 导出所有邮件为 JSON python3 scripts/email-pro.py check --limit 1000 > backup.json
# 使用 analyze.py 分析邮件 python3 scripts/analyze.py
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章