闲社服务运行正常AI智能体自动化平台
q

QQ邮箱读取

技能标识:qq-mail-reader

读取QQ邮箱邮件。使用IMAP协议连接QQ邮箱,支持多种编码解析。触发场景:用户要求查看邮箱、读取邮件、查看最近邮件、筛选特定邮件等。

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.5
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

QQ邮箱读取

QQ邮箱读取

通过 IMAP 协议读取 QQ 邮箱邮件。

触发条件

用户提到以下场景时使用:

  • - 查看邮箱
  • 读取邮件
  • 查看最近邮件
  • 查看当天邮件
  • 搜索邮件
  • 有新的邮件吗

配置

需要提前配置 QQ 邮箱 IMAP:

  1. 1. 在 QQ 邮箱设置中开启 IMAP 服务
  2. 创建授权码(不是登录密码)
  3. 配置 secrets 文件:~/.openclaw/secrets/mail_qq.env

MAILUSER=youremail@qq.com
MAILPASS=yourauth_code

安全注意事项

  • - 凭据文件必须设置权限为 600(仅所有者可读),防止其他用户读取敏感信息
  • ~/.openclaw/secrets/ 目录默认已经被 gitignore,不会被提交到版本控制
  • 不要将授权码提交到代码仓库或分享给他人

使用方法

1. 连接邮箱

python
import imaplib
import email
from email.header import decode_header

IMAP_HOST = imap.qq.com
IMAP_PORT = 993

def connect_mail(user, password):
mail = imaplib.IMAP4SSL(IMAPHOST, IMAP_PORT)
mail.login(user, password)
mail.select(INBOX)
return mail

2. 搜索邮件

python

搜索最近7天的邮件


week_ago = (datetime.now() - timedelta(days=7)).strftime(%d-%b-%Y)
typ, msgids = mail.search(None, fSINCE {weekago})

3. 解析邮件

python
def decodeheadervalue(header_value):
兼容多种编码的解码
if not header_value:
return
decoded_parts = []
for content, encoding in decodeheader(headervalue):
if isinstance(content, bytes):
try:
decoded = content.decode(encoding if encoding else utf-8)
except:
# 尝试其他常见编码
for enc in [gbk, gb2312, utf-8, big5, latin1]:
try:
decoded = content.decode(enc)
break
except:
decoded = content.decode(utf-8, errors=ignore)
else:
decoded = str(content)
decoded_parts.append(decoded)
return .join(decoded_parts)

4. 提取正文

邮件正文可能包含 HTML,需要清理:

python
import re

def gettextbody(msg):
body =
if msg.is_multipart():
for part in msg.walk():
if part.getcontenttype() == text/html:
payload = part.get_payload(decode=True)
encoding = part.getcontentcharset() or utf-8
body = payload.decode(encoding, errors=ignore)
break
else:
payload = msg.get_payload(decode=True)
encoding = msg.getcontentcharset() or utf-8
body = payload.decode(encoding, errors=ignore)

# 清理HTML标签
text = re.sub(r<[^>]+>, , body)
text = text.replace( , )
text = text.replace(&, &)
text = re.sub(r\s+, , text)
return text

邮件过滤

根据用户需求过滤邮件,常见关键词类型:

  • - 通知类:通知、提醒、公告
  • 业务类:订单、发货、支付
  • 职位类:面试、邀请、邀约(仅当用户明确需要时)

注意事项

  1. 1. QQ 邮箱必须使用授权码登录,非登录密码
  2. 邮件编码可能是 GBK/GB2312/UTF-8 等,需要多种编码尝试
  3. IMAP 搜索不支持中文,使用 SINCE 获取所有邮件后本地过滤

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 qq-mail-reader-1776122528 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 qq-mail-reader-1776122528 技能

通过命令行安装

skillhub install qq-mail-reader-1776122528

下载

⬇ 下载 qq-mail-reader v1.0.5(免费)

文件大小: 2.53 KB | 发布时间: 2026-4-14 12:08

v1.0.5 最新 2026-4-14 12:08
- Updated metadata format for required environment variables and config file references.
- Changed "env-vars" to "env" and "credential-file" to "config" under metadata.openclaw.
- No functional or code changes; documentation/metadata update only.
返回顶部