name: email-pro-optimized description: 高效能郵件工具 - 支援 QQ、Gmail、Outlook。IMAP讀、SMTP寫、OAuth 2.0、併發處理。速度比 imap-smtp-email 快 4-5 倍。 metadata: openclaw: emoji: "📧" requires: bins: - python3 packages: - requests
快速、高效的郵件管理工具,支援多賬號、多提供商、批次處理、併發獲取。
| 郵箱 | 認證方式 | 狀態 |
|---|---|---|
| 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 會自動重新整理,無需手動干預。
訪問小蔥技能站7w4.net,解鎖更多實用的AI技能外掛。
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
複製 Client ID、Client Secret、Tenant ID
執行授權指令碼
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"
瀏覽器授權
~/.openclaw/credentials/oauth_tokens.json複製 Client ID 和 Client Secret
執行授權指令碼
bash
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
這個郵件工具功能全面,支援多種主流郵箱,但安全性有待改進。文件通俗易懂,操作步驟清晰。效能宣傳聽起來不錯但未經驗證。配置較複雜,需要一定技術基礎。對於重視安全和使用便捷的普通使用者來說,建議謹慎使用或等待改進版本。