shadowcz007/skills

qq-email

面向 QQ 邮箱的 IMAP 收邮件、SMTP 发邮件;账号与授权码从环境变量 QQ_EMAIL_ACCOUNT、QQ_EMAIL_AUTH_CODE 读取。在用户要发 QQ 邮件、收邮件、查邮件、代发邮件或?

First seen Feb 28, 2026

Installation

$ npx skills add shadowcz007/skills --skill qq-email

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from shadowcz007/skills · top by installs.

npx skills add shadowcz007/skills

Browse all from shadowcz007/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,666 B
  • docs SUMMARY.md 246 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 472 installs

SKILL.md

何时使用

用户要使用 QQ 邮箱 发邮件、收邮件、查邮件、代发邮件或配置 QQ 邮箱时使用本 skill。

QQ 邮箱收发

面向 QQ 邮箱:通过 IMAP 收取邮件、SMTP 发送邮件。账号与授权码仅从环境变量读取,不在代码或配置中硬编码。

凭证(环境变量)

变量 说明
QQEMAILACCOUNT QQ 邮箱账号(完整地址,如 [email protected])
QQEMAILAUTH_CODE QQ 邮箱授权码(在 QQ 邮箱「设置 → 账户」中开启 IMAP/SMTP 后生成,非 QQ 登录密码;勿提交到仓库)

脚本会校验,缺失时报错并退出;请勿在终端用 echo 等方式检查,以免泄露授权码。

QQ 邮箱服务器

  • IMAP:imap.qq.com,端口 993(SSL)
  • SMTP:smtp.qq.com,端口 465(SSL)

脚本

脚本 作用
scripts/send.js 从环境变量读凭证,用 nodemailer 连接 QQ 邮箱 SMTP 发信;支持收件人、主题、正文(CLI 参数)。
scripts/receive.js 从环境变量读凭证,用 imap + mailparser 连接 QQ 邮箱 IMAP 收信;支持「最近 N 条」或「最近 N 天」,输出主题、发件人、日期、UID、正文摘要。
scripts/get-body.js 按 UID 获取指定邮件的完整正文(纯文本,无摘要截断)。必须传入 --uid(值为收信列表中的 UID)。

发信流程

在 skill 根目录下执行(需已 npm install):

node scripts/send.js <收件人> <主题> <正文>

正文若含空格,请用引号包裹;或只传收件人和主题,正文从 stdin 读入(见脚本 --stdin)。

示例:

node scripts/send.js "[email protected]" "测试主题" "邮件正文内容"

收信流程

# 收取最近 10 条(默认)
node scripts/receive.js

# 收取最近 N 条
node scripts/receive.js --limit 20

# 收取最近 N 天的邮件(如 7、30、90)
node scripts/receive.js --days 7

输出:每封邮件的主题、发件人、日期、UID(收件箱内唯一标识,用于按 UID 取正文)、正文摘要(前约 200 字),便于查看。

获取邮件正文

需要某封邮件的完整正文时,使用 get-body.js,传入收信列表中该邮件的 UID:

node scripts/get-body.js --uid 12345

未传 --uid 时会提示并退出。UID 与收件箱绑定,邮件移动或删除后可能失效。

  • 输出:完整正文输出到 stdout(纯文本;若原邮件仅有 HTML,会做简单去标签后输出)。可重定向到文件或管道给其它命令。
  • 环境变量:与收信相同,需 QQEMAILACCOUNT、QQEMAILAUTH_CODE。

可选能力(与「收取选项」对应)

  • 收取时间范围:通过 --days 7 / --days 30 / --days 90 使用 IMAP SINCE 条件。
  • 收取「我的文件夹」:当前脚本默认 INBOX;若需自定义文件夹,可扩展脚本中的 openBox(如 openBox('我的文件夹', ...))。

安全提醒

  • QQ 邮箱授权码需在「设置 → 账户」中开启 IMAP/SMTP 服务后生成,与 QQ 登录密码不同,不要混淆。
  • 不要将 QQEMAILACCOUNT、QQEMAILAUTH_CODE 的真实值写入代码或提交到仓库;仅通过环境变量或本地 .env 配置。