Email Daily Summary Skill
这个技能帮助你自动登录邮箱,获取邮件内容,并生成每日邮件总结。
功能特性
- - 🔐 支持多种邮箱登录(Gmail、Outlook、QQ 邮箱、163 邮箱等)
- 📧 自动获取最新邮件列表
- 📝 智能生成邮件摘要
- 🏷️ 按重要性/发件人/主题分类
- 📊 生成每日邮件统计报告
前置要求
- 1. 安装 browser-use CLI:
CODEBLOCK0
- 2. 确保已在浏览器中登录过邮箱(使用 real 模式可直接复用登录状态)
使用方法
方式一:使用已登录的浏览器(推荐)
使用 --browser real 模式可以复用你 Chrome 浏览器中已登录的邮箱会话:
CODEBLOCK1
方式二:手动登录流程
如果需要手动登录,使用 --headed 模式查看操作过程:
CODEBLOCK2
获取邮件列表
登录成功后,获取邮件列表:
CODEBLOCK3
使用 Python 生成邮件总结
CODEBLOCK4
完整的每日邮件总结脚本
创建一个完整的总结流程:
CODEBLOCK5
支持的邮箱服务
| 邮箱服务 | 登录 URL | 收件箱 URL |
|---|
| Gmail | https://accounts.google.com | https://mail.google.com |
| Outlook |
https://login.live.com | https://outlook.live.com |
| QQ 邮箱 | https://mail.qq.com | https://mail.qq.com |
| 163 邮箱 | https://mail.163.com | https://mail.163.com |
| 126 邮箱 | https://mail.126.com | https://mail.126.com |
| 企业微信邮箱 | https://exmail.qq.com | https://exmail.qq.com |
生成 AI 邮件摘要
如果配置了 API Key,可以使用 AI 自动生成邮件摘要:
CODEBLOCK6
定时任务设置
macOS/Linux (crontab)
CODEBLOCK7
macOS (launchd)
创建 ~/Library/LaunchAgents/com.email.dailysummary.plist:
CODEBLOCK8
加载任务:
CODEBLOCK9
输出示例
生成的邮件总结报告格式:
CODEBLOCK10
安全提示
⚠️ 重要安全建议:
- 1. 不要在脚本中明文保存密码,优先使用
--browser real 模式复用已登录会话 - 敏感信息使用环境变量存储
- 定期检查授权应用,移除不需要的第三方访问
- 启用两步验证保护邮箱安全
- 日志文件不要包含敏感信息
故障排除
登录失败?
CODEBLOCK11
页面元素找不到?
CODEBLOCK12
会话过期?
CODEBLOCK13
清理
完成后记得关闭浏览器:
CODEBLOCK14
邮件每日总结技能
这个技能帮助你自动登录邮箱,获取邮件内容,并生成每日邮件总结。
功能特性
- - 🔐 支持多种邮箱登录(Gmail、Outlook、QQ 邮箱、163 邮箱等)
- 📧 自动获取最新邮件列表
- 📝 智能生成邮件摘要
- 🏷️ 按重要性/发件人/主题分类
- 📊 生成每日邮件统计报告
前置要求
- 1. 安装 browser-use CLI:
bash
uv pip install browser-use[cli]
browser-use install
- 2. 确保已在浏览器中登录过邮箱(使用 real 模式可直接复用登录状态)
使用方法
方式一:使用已登录的浏览器(推荐)
使用 --browser real 模式可以复用你 Chrome 浏览器中已登录的邮箱会话:
bash
Gmail
browser-use --browser real open https://mail.google.com
Outlook
browser-use --browser real open https://outlook.live.com
QQ 邮箱
browser-use --browser real open https://mail.qq.com
163 邮箱
browser-use --browser real open https://mail.163.com
方式二:手动登录流程
如果需要手动登录,使用 --headed 模式查看操作过程:
bash
打开邮箱登录页面(以 Gmail 为例)
browser-use --headed open https://accounts.google.com
查看页面元素
browser-use state
输入邮箱地址(根据 state 返回的索引)
browser-use input
inputindex> your-email@gmail.com
browser-use click buttonindex>
输入密码
browser-use input inputindex> your-password
browser-use click buttonindex>
跳转到邮箱
browser-use open https://mail.google.com
获取邮件列表
登录成功后,获取邮件列表:
bash
获取当前页面状态,查看邮件列表
browser-use state
截图保存当前邮件列表
browser-use screenshot emails_$(date +%Y%m%d).png
使用 JavaScript 提取邮件信息(Gmail 示例)
browser-use eval
const emails = [];
document.querySelectorAll(tr.zA).forEach((row, i) => {
if (i < 20) {
const sender = row.querySelector(.yX.xY span)?.innerText || ;
const subject = row.querySelector(.y6 span)?.innerText || ;
const snippet = row.querySelector(.y2)?.innerText || ;
const time = row.querySelector(.xW.xY span)?.innerText || ;
emails.push({ sender, subject, snippet, time });
}
});
JSON.stringify(emails, null, 2);
使用 Python 生成邮件总结
bash
初始化邮件数据收集
browser-use python
emails_data = []
summary_date = $(date +%Y-%m-%d)
滚动页面加载更多邮件
browser-use python
for i in range(3):
browser.scroll(down)
import time
time.sleep(1)
提取邮件数据(需要根据实际邮箱 DOM 结构调整)
browser-use python
import json
获取页面 HTML 进行解析
html = browser.html
这里需要根据具体邮箱服务解析 HTML
示例:统计基本信息
print(f=== 邮件日报 {summary_date} ===)
print(f页面 URL: {browser.url})
print(f页面标题: {browser.title})
截图保存
browser-use python
browser.screenshot(femailsummary{summary_date}.png)
print(f截图已保存: emailsummary{summary_date}.png)
完整的每日邮件总结脚本
创建一个完整的总结流程:
bash
#!/bin/bash
emaildailysummary.sh
DATE=$(date +%Y-%m-%d)
TIME=$(date +%H:%M:%S)
OUTPUTDIR=./emailsummaries
mkdir -p $OUTPUT_DIR
echo ==========================================
echo 📧 邮件日报生成中...
echo 日期: $DATE $TIME
echo ==========================================
1. 打开邮箱(使用已登录的浏览器)
browser-use --browser real open https://mail.google.com
2. 等待页面加载
sleep 3
3. 获取页面状态
echo
echo 📋 当前邮箱状态:
browser-use state
4. 截图保存邮件列表
echo
echo 📸 保存截图...
browser-use screenshot $OUTPUTDIR/inbox$DATE.png
5. 提取邮件数据
echo
echo 📊 邮件统计:
browser-use eval
(() => {
const unreadCount = document.querySelectorAll(.zE).length;
const totalVisible = document.querySelectorAll(tr.zA).length;
return JSON.stringify({
unread: unreadCount,
visible: totalVisible,
timestamp: new Date().toISOString()
});
})()
6. 关闭浏览器
echo
echo ✅ 完成!截图保存至: $OUTPUTDIR/inbox$DATE.png
browser-use close
支持的邮箱服务
| 邮箱服务 | 登录 URL | 收件箱 URL |
|---|
| Gmail | https://accounts.google.com | https://mail.google.com |
| Outlook |
https://login.live.com | https://outlook.live.com |
| QQ 邮箱 | https://mail.qq.com | https://mail.qq.com |
| 163 邮箱 | https://mail.163.com | https://mail.163.com |
| 126 邮箱 | https://mail.126.com | https://mail.126.com |
| 企业微信邮箱 | https://exmail.qq.com | https://exmail.qq.com |
生成 AI 邮件摘要
如果配置了 API Key,可以使用 AI 自动生成邮件摘要:
bash
使用 AI 提取邮件摘要(需要 BROWSERUSEAPI_KEY)
browser-use --browser real open https://mail.google.com
browser-use extract 提取前 10 封邮件的发件人、主题和摘要,按重要性排序
定时任务设置
macOS/Linux (crontab)
bash
编辑 crontab
crontab -e
添加每日早上 9 点执行的任务
0 9 * /path/to/emaildailysummary.sh >> /path/to/logs/email_summary.log 2>&1
macOS (launchd)
创建 ~/Library/LaunchAgents/com.email.dailysummary.plist:
xml
Label
com.email.dailysummary
ProgramArguments
/bin/bash
/path/to/emaildailysummary.sh
StartCalendarInterval
Hour
9
Minute
0
StandardOutPath
/tmp/email_summary.log
StandardErrorPath
/tmp/emailsummaryerror.log
加载任务:
bash
launchctl load ~/Library/LaunchAgents/com.email.dailysummary.plist
输出示例
生成的邮件总结报告格式:
==========================================
📧 邮件日报 - 2026-01-30
==========================================
📊 统计概览:
- - 未读邮件: 12 封
- 今日新邮件: 28 封
- 重要邮件: 5 封
🔴 重要邮件:
- 1. [工作] 来自 boss@company.com
主题: 项目进度汇报 - 紧急
时间: 09:30
- 2. [财务] 来自 finance@bank.com
主题: 账单提醒
时间: 08:15
📬 今日邮件分类:
- - 工作相关: 15 封
- 订阅通知: 8 封
- 社交媒体: 3 封
- 其他: 2 封
💡 建议操作:
- - 回复 boss@company.com 的邮件
- 处理 3 封需要审批的邮件
==========================================
安全提示
⚠️ 重要安全建议:
- 1. 不要在脚本中明文保存密码,优先