Agent Skills
返回列表
腾讯企业邮箱收发

腾讯企业邮箱收发

办公效率 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_927ed3dd/exmail-io 到你的 AI 助手。

技能介绍

在腾讯企业邮箱(exmail.qq.com)上做自动化,第一道坎是协议层的不透明:服务端 SEARCH 对中文关键词经常返回空,WebMail 判断邮件到达时间时又优先读取 Received 栈里的 RFC 2822 时间戳,而不是 Date 头。只改 Date 头,邮件在客户端里依旧显示旧日期。第二道坎是认证:企业微信邮箱普遍开启安全登录,不支持 OAuth2,必须用客户端专用密码登录,登录密码喂给 smtplib / imaplib 只会得到 AUTHENTICATIONFAILED。第三道坎是依赖膨胀,多数邮件脚本动辄引入第三方库,本技能只用 imaplib / smtplib / email / ssl / argparse 等标准库,Python 3.8+ 直接跑。

核心能力

  • IMAP 收件:连接 imap.exmail.qq.com:993,列出文件夹、搜索邮件、读取全文、提取附件、标记已读;--subject / --from / --body 走客户端兜底过滤,绕开服务端搜索的中文 bug,需要 OR / NOT / LARGER 时用 --raw-search。
  • SMTP 发件:连接 smtp.exmail.qq.com:465,支持文本、HTML、附件和内嵌图;From 强制等于认证用户名,避免被反垃圾系统拒收。复杂邮件用 --from-json mail.json 描述,或用 render_email.py 拼装模板与组件。
  • 修改邮件日期:拉取原始邮件后全局正则替换所有符合 RFC 2822 的日期串(Date、各行 Received、X-Received、Message-ID),再 IMAP APPEND 并同步 INTERNALDATE,最后删除原件(默认 --keep-original 保留)。返回 replaced_dates 让你确认替换命中了哪些位置。
  • 凭证与安全:账号密码只通过 --username / --password 传入,脚本不读环境变量或配置文件,也不会在日志里打印密码。
  • 编码与体积:自动处理 RFC 2047 主题编码与 utf-8 / gbk / gb2312 正文解码;大邮件用 --output、--no-html、--body-lines 截断。

典型流程

先从登记表或用户提供的信息里拿到邮箱与客户端专用密码,别一上来就追问。接着按意图路由:收件与管理走 inbox / folders / read / flag / move / delete / modify-date,发件走 send / reply。对真实邮箱执行 modify-date 时默认加 --keep-original,确认 replaced_dates 合理后再手动删原件。

适用边界

前提是管理员在「企业微信管理端 → 协作 → 邮件 → 安全管理 → 客户端访问权限」里开启了 IMAP/SMTP,否则连接直接超时。凭证错误时先看是否是用了登录密码而非客户端专用密码;554 类反垃圾拦截需要检查 From 一致性、降低发送频率。日期修改只作用于你有权访问的邮箱,用途限于归档和历史整理,禁止用于伪造投递时间或冒充他人发件。若场景只是发件、且邮箱是 QQ / Gmail / 163 这类非企业邮箱,本技能不是最优选择。

使用场景

  • 把积压的旧邮件批量调整日期后重新归档,需同步改写 Date 与所有 Received 行的时间戳
  • 每天早上按发件人和主题关键词搜索未读邮件,批量下载附件并提取正文要点
  • 给项目组 50 多名成员发送带内嵌图和表格的 HTML 通知邮件,控制发送频率降低拦截风险
  • 核对 Sent Messages 等文件夹的中文名,检查 IMAP UTF-7 原始名是否正确解码

适合人员

  • 负责企业邮箱运维的 IT 管理员,需要用脚本批量收发邮件、归档历史邮件并统一日期
  • 把腾讯企业邮箱接入自动化流程的开发者,需要一个稳定的 IMAP/SMTP 标准库调用层
  • 每周处理审批与通知邮件的行政人员,需要按主题关键词搜索并提取附件正文
  • 整理历史邮件库的归档专员,需要批量修正邮件日期并默认保留原件以便回溯