返回顶部
e

email-pro-optimized

高性能邮件工具 - 支持 QQ、Gmail、Outlook。IMAP读、SMTP写、OAuth 2.0、并发处理。速度比 imap-smtp-email 快 4-5 倍。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 2.2.0
安全检测
已通过
159
下载量
0
收藏
概述
安装方式
版本历史

email-pro-optimized

# Email Pro Optimized - 高性能邮件工具 快速、高效的邮件管理工具,支持多账号、多提供商、批量处理、并发获取。 ## 支持的邮箱类型 | 邮箱 | 认证方式 | 状态 | |------|--------|------| | **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 | | **并发处理** | ❌ | ✅ | | **连接复用** | ❌ | ✅ | | **多提供商** | ❌ | ✅ | ## 快速开始 ### 1. 列出账户 ```bash python3 scripts/email-pro.py list-accounts ``` ### 2. 检查邮件(QQ 邮箱) ```bash # 检查最近 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 ``` ### 3. 授权 Gmail 邮箱 ```bash # 自动授权 Gmail python3 scripts/authorize.py gmail --name gmail_qiao # 或使用默认配置 python3 scripts/authorize.py gmail ``` ### 4. 授权 Outlook 邮箱 ```bash # 自动授权(已配置 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" ``` ### 5. 检查邮件(Gmail/Outlook) ```bash # Gmail python3 scripts/email-pro.py --account gmail_qiao check --limit 10 # Outlook python3 scripts/email-pro.py --account outlook_live check --limit 10 ``` ### 6. 发送邮件 ```bash # 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" ``` ## OAuth 自动刷新 Gmail 和 Outlook 的 OAuth token 会自动刷新,无需手动干预。 ### 工作原理 - **自动检测过期** - 每次使用前自动检查 token 是否过期 - **提前刷新** - 提前 5 分钟刷新,避免过期 - **透明处理** - 调用方无需关心刷新逻辑 - **持久化** - 新 token 自动保存到凭证文件 ### 在代码中使用 ```python 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) ``` ## 高级用法 ### 搜索邮件 ```bash python3 scripts/email-pro.py search "旅行" --limit 20 ``` ### 获取完整邮件 ```bash python3 scripts/email-pro.py fetch 71197 ``` ### 批量并发获取 ```bash # 获取最近 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 邮箱配置 ```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 配置 ```json { "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 配置 ```json { "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 邮箱" } } ``` ## 命令参考 ### check - 检查邮件 ```bash python3 scripts/email-pro.py check [OPTIONS] Options: --account NAME 账户名称 (默认: qq_3421) --limit N 限制数量 (默认: 10) --unread 仅未读邮件 --mailbox NAME 邮箱名称 (默认: INBOX) ``` ### fetch - 获取完整邮件 ```bash python3 scripts/email-pro.py fetch UID [OPTIONS] Options: --account NAME 账户名称 (默认: qq_3421) --mailbox NAME 邮箱名称 (默认: INBOX) ``` ### search - 搜索邮件 ```bash python3 scripts/email-pro.py search QUERY [OPTIONS] Options: --account NAME 账户名称 (默认: qq_3421) --limit N 限制数量 (默认: 20) --mailbox NAME 邮箱名称 (默认: INBOX) ``` ### send - 发送邮件 ```bash python3 scripts/email-pro.py send [OPTIONS] Options: --account NAME 账户名称 (默认: qq_3421) --to EMAIL 收件人 (必需) --subject TEXT 主题 (必需) --body TEXT 正文 (必需) --html HTML 格式 --attach FILE... 附件 ``` ### list-accounts - 列出账户 ```bash python3 scripts/email-pro.py list-accounts ``` ## OAuth 授权 ### Outlook 授权流程 1. **获取 Azure 应用信息** - 登录 Azure Portal - 创建应用注册或使用现有应用 - 复制 Client ID、Client Secret、Tenant ID 2. **运行授权脚本** ```bash bash scripts/authorize-outlook.sh ``` 或 ```bash python3 scripts/authorize.py outlook \ --client-id "YOUR_CLIENT_ID" \ --client-secret "YOUR_CLIENT_SECRET" \ --tenant-id "YOUR_TENANT_ID" ``` 3. **浏览器授权** - 脚本会打开浏览器 - 登录你的 Outlook 账户 - 授予权限 - 令牌自动保存到 `~/.openclaw/credentials/oauth_tokens.json` ### Gmail 授权流程 1. **获取 Google OAuth 凭证** - 访问 Google Cloud Console - 创建 OAuth 2.0 凭证 - 复制 Client ID 和 Client Secret 2. **运行授权脚本** ```bash python3 scripts/authorize.py gmail \ --client-id "YOUR_CLIENT_ID" \ --client-secret "YOUR_CLIENT_SECRET" \ --name "gmail_account" ``` 3. **浏览器授权** - 脚本会打开浏览器 - 登录你的 Gmail 账户 - 授予权限 - 令牌自动保存 ## 优化点 1. **批量 fetch** - 一次获取多封邮件,快 4.5 倍 2. **连接复用** - 保持连接活跃,省 385ms 3. **错误处理** - 跳过损坏邮件,更稳定 4. **并发处理** - 支持多线程并发获取 5. **多提供商** - 统一接口支持 QQ、Gmail、Outlook 6. **OAuth 2.0** - 安全的令牌认证,自动刷新 ## 性能基准 ``` ✅ 检查 10 封邮件: 0.5s ✅ 检查 100 封邮件: 3s ✅ 检查 1000 封邮件: 20s ✅ 发送邮件: 0.6s ✅ 并发获取 20 封: 1.5s ``` ## 故障排除 ### 连接超时 - 检查网络连接 - 验证 IMAP/SMTP 服务器地址和端口 - 对于 Outlook,确保已授权 ### 认证失败 - QQ 邮箱:确认授权码正确(不是密码) - Outlook:重新运行授权脚本 - Gmail:检查 OAuth 令牌是否过期 ### 邮件解析失败 - 某些邮件格式可能不支持 - 脚本会自动跳过损坏的邮件 ## 依赖 - Python 3.6+ - requests(用于 OAuth 和 API 调用) - 标准库: imaplib, smtplib, email, ssl, json, argparse 安装依赖: ```bash 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 # 项目说明 ``` ## 常见用例 ### 旅行监控 ```bash # 定期检查旅行相关邮件 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 条相关邮件" ``` ### 邮件备份 ```bash # 导出所有邮件为 JSON python3 scripts/email-pro.py check --limit 1000 > backup.json ``` ### 自动分类 ```bash # 使用 analyze.py 分析邮件 python3 scripts/analyze.py ``` ## 更新日志 ### v2.0.0 (2026-03-20) - ✅ 新增 Gmail 支持(OAuth 2.0) - ✅ 新增 Outlook 支持(OAuth 2.0) - ✅ 模块化提供商架构 - ✅ 自动令牌刷新 - ✅ 统一命令接口 ### v1.0.0 (2026-03-19) - ✅ QQ 邮箱支持 - ✅ 高性能批量获取 - ✅ 并发处理

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 email-pro-optimized-1776111513 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 email-pro-optimized-1776111513 技能

通过命令行安装

skillhub install email-pro-optimized-1776111513

下载 Zip 包

⬇ 下载 email-pro-optimized v2.2.0

文件大小: 25.44 KB | 发布时间: 2026-4-14 09:41

v2.2.0 最新 2026-4-14 09:41
email-pro-optimized v2.2.0

- No user-visible changes; documentation and code remain unchanged in this release.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部