Email Backup Skill
QQ邮箱文件备份Skill,可以将指定目录打包成压缩包,并通过QQ邮箱SMTP发送到指定邮箱。
🚀 OpenClaw 安装此 Skill 指南
方法一:通过 ClawHub 安装(推荐)
如果你的 OpenClaw 已配置 ClawHub,可以直接安装:
# 搜索 Skill
clawhub search email-backup
# 安装 Skill
clawhub install email-backup
方法二:直接发送命令给 OpenClaw
在 OpenClaw 聊天界面中发送以下命令:
安装 email-backup skill
或者:
请帮我安装 Email Backup Skill,用于打包文件并发送到QQ邮箱
OpenClaw 会自动执行以下操作:
- 检查 Python 是否安装
- 创建 skills 目录
- 下载并解压 Skill 文件
- 设置执行权限
- 测试安装是否成功
方法三:使用 OpenClaw 命令行
在终端中执行:
# 安装 Email Backup Skill
openclaw skill install email-backup
# 或者从本地安装
openclaw skill install ./email-backup-skill.tar.gz
方法四:手动安装
-
下载 Skill 文件
# 创建 skills 目录(如果不存在) mkdir -p ~/.openclaw/workspace/skills # 下载并解压 cd ~/.openclaw/workspace/skills tar -xzf email-backup-skill.tar.gz -
验证安装
# 检查文件结构 ls -la ~/.openclaw/workspace/skills/email-backup/ # 应该看到: # SKILL.md # README.md # scripts/ -
测试运行
# 测试脚本是否正常工作 cd ~/.openclaw/workspace/skills/email-backup python3 scripts/backup_and_send.py --help
📦 依赖说明
必需依赖
- Python 3.6+:脚本运行环境
- tarfile 模块:Python 内置模块,用于创建 tar.gz 压缩包(无需额外安装)
- smtplib 模块:Python 内置模块,用于 SMTP 邮件发送(无需额外安装)
可选依赖
- QQ邮箱 SMTP 授权码:用于发送邮件(需要在 QQ 邮箱设置中获取)
为什么不需要额外安装压缩工具?
本 Skill 使用 Python 内置的 tarfile 模块来创建 tar.gz 压缩包,不需要安装额外的压缩工具(如 tar、gzip 等)。tarfile 模块是 Python 标准库的一部分,所有 Python 安装都自带此模块。
优势:
- ✅ 无需安装额外软件
- ✅ 跨平台兼容(Windows、Linux、macOS)
- ✅ 纯 Python 实现,无外部依赖
- ✅ 支持压缩级别调节(1-9)
功能特性
- ✅ 支持打包任意目录为tar.gz压缩包
- ✅ 支持QQ邮箱SMTP发送(SSL加密)
- ✅ 支持敏感信息清理(API Key、密码等)
- ✅ 支持自定义邮件主题和正文
- ✅ 支持批量发送多个文件
安装要求
- Python 3.6+
- QQ邮箱SMTP授权码(需要在QQ邮箱设置中开启SMTP服务并获取授权码)
配置
1. 获取QQ邮箱SMTP授权码
- 登录QQ邮箱 (mail.qq.com)
- 进入「设置」→「账户」
- 找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务」
- 开启「IMAP/SMTP服务」
- 生成授权码(16位字母数字组合)
2. 配置环境变量
# 设置QQ邮箱配置
export QQ_EMAIL="your-email@qq.com"
export QQ_SMTP_PASSWORD="your-auth-code"
# 或者直接在脚本中修改配置
使用方法
基本用法
# 打包目录并发送到邮箱
python3 scripts/backup_and_send.py /path/to/directory
# 指定收件人
python3 scripts/backup_and_send.py /path/to/directory --to recipient@qq.com
# 自定义邮件主题
python3 scripts/backup_and_send.py /path/to/directory --subject "我的备份文件"
# 清理敏感信息后发送
python3 scripts/backup_and_send.py /path/to/directory --clean
高级用法
# 打包多个目录
python3 scripts/backup_and_send.py /path/to/dir1 /path/to/dir2
# 排除特定文件
python3 scripts/backup_and_send.py /path/to/directory --exclude "*.log" "*.tmp"
# 设置压缩级别(1-9,9为最高压缩率)
python3 scripts/backup_and_send.py /path/to/directory --compression 9
脚本说明
1. backup_and_send.py
主脚本,整合打包和发送功能。
参数:
directories: 要打包的目录(支持多个)--to: 收件人邮箱(默认:发件人邮箱)--subject: 邮件主题--body: 邮件正文--clean: 清理敏感信息--exclude: 排除的文件模式--compression: 压缩级别(1-9)
2. clean_sensitive.py
敏感信息清理脚本,用于清理API Key、密码等敏感信息。
支持清理的敏感信息:
- API Keys(sk-*, tvly-*等)
- 密码(PASSWORD=*, password=*等)
- 邮箱密码
- 用户ID
- 其他自定义敏感信息
3. send_email.py
邮件发送脚本,支持QQ邮箱SMTP发送。
参数:
--to: 收件人邮箱--subject: 邮件主题--body: 邮件正文--attachment: 附件路径
安全注意事项
- 不要将授权码提交到代码仓库
- 使用环境变量存储敏感信息
- 定期更换授权码
- 清理备份文件中的敏感信息
示例
备份OpenClaw配置
# 备份OpenClaw配置并发送到邮箱
python3 scripts/backup_and_send.py ~/.openclaw/agents ~/.openclaw/workspace --clean
定期备份脚本
#!/bin/bash
# daily_backup.sh
# 设置环境变量
export QQ_EMAIL="your-email@qq.com"
export QQ_SMTP_PASSWORD="your-auth-code"
# 备份目录
BACKUP_DIRS=(
"~/.openclaw/agents"
"~/.openclaw/workspace"
"~/important-docs"
)
# 执行备份
python3 ~/.openclaw/workspace/skills/email-backup/scripts/backup_and_send.py \
"${BACKUP_DIRS[@]}" \
--subject "每日备份 $(date +%Y-%m-%d)" \
--clean
故障排除
1. SMTP连接失败
- 检查网络连接
- 确认SMTP服务器地址和端口
- 检查防火墙设置
2. 认证失败
- 确认授权码是否正确
- 检查邮箱是否开启了SMTP服务
- 尝试重新生成授权码
3. 附件过大
- QQ邮箱附件限制为50MB
- 考虑分卷压缩或使用云存储
更新日志
v1.0.0 (2026-03-06)
- 初始版本
- 支持QQ邮箱SMTP发送
- 支持敏感信息清理
- 支持批量打包和发送
许可证
MIT License
作者
Author 🌸