Simple Email

简单易用的 IMAP/SMTP 邮件技能。支持收发邮件、查看未读邮件、搜索、标记已读/未读、下载附件。兼容 Gmail、QQ 邮箱、163、新浪等所有标准 IMAP/SMTP 服务。

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 240 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (IMAP/SMTP email client) matches the requested binaries (node, npm), the required env vars (IMAP_* and SMTP_*), and included scripts (imap.js, smtp.js). The functionality requested (send/receive/search/download attachments) is coherent with the declared requirements.
Instruction Scope
SKILL.md instructs the agent to install node deps, create/edit a .env, and run the included scripts. The runtime instructions and code only perform mailbox operations and local file reads/writes (attachment download, reading body/subject files). The setup script sends a test email to the configured SMTP_USER (expected). There are no instructions to read unrelated system files or to transmit data to external endpoints beyond IMAP/SMTP servers.
Install Mechanism
No remote downloads from arbitrary hosts; dependencies are standard npm packages (package.json and package-lock.json present). The SKILL.md requires running npm install which is appropriate for a Node.js skill. No extract/URL-based installers are used.
Credentials
Declared required env vars (IMAP_HOST/USER/PASS, SMTP_HOST/USER/PASS) match code usage and are proportional. Note: the code and SKILL.md also rely on several optional env vars that are not listed in the registry metadata (ALLOWED_READ_DIRS, ALLOWED_WRITE_DIRS, IMAP_PORT/IMAP_TLS/SMTP_PORT/SMTP_SECURE/SMTP_FROM, IMAP_REJECT_UNAUTHORIZED/SMTP_REJECT_UNAUTHORIZED). ALLOWED_* are used to whitelist filesystem access (good practice), but the missing declaration is an inconsistency you should be aware of.
Persistence & Privilege
always is false and the skill does not request persistent system-wide privileges. setup.sh creates a local .env and sets permissions (chmod 600) but does not modify other skills or system-wide agent settings. Agent autonomous invocation is allowed (platform default) and not by itself a concern.
Assessment
This skill appears to be what it claims: a Node.js IMAP/SMTP client. Before installing, consider the following: - Use an app-specific password or email authorization code and enable two-factor auth where possible; do not use your main mailbox password. - Create a dedicated mailbox/account for the skill if you want to limit blast radius. - Configure ALLOWED_READ_DIRS and ALLOWED_WRITE_DIRS narrowly (only the directories you actually need) — the scripts enforce these, so set them before enabling downloads or reading files. - Do not commit the generated .env to version control; setup.sh already warns and sets file permissions. - Verify the source/author if provenance matters: package.json lists "NetEase" as author but registry metadata shows source unknown; the homepage is a generic GitHub org. If you require stronger assurance, review the included scripts yourself or run them in an isolated environment/container. - If you need to automate agent-driven email sending, remember the skill will be able to send emails (it sends a test email during setup). Ensure that behavior aligns with your security policy. If you want additional assurance, ask for a short summary of any network endpoints contacted by the code (beyond IMAP/SMTP) and confirm there are no hard-coded external URLs — the provided files show none.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.1
Download zip
chinesevk97354gwebg15yzdn1p40a0dyd82c1ntemailvk97354gwebg15yzdn1p40a0dyd82c1ntimapvk97354gwebg15yzdn1p40a0dyd82c1ntlatestvk9728qd4dbe3cr7ddzejtf87m982datgmailvk97354gwebg15yzdn1p40a0dyd82c1ntsmtpvk97354gwebg15yzdn1p40a0dyd82c1nt

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

📧 Clawdis
Binsnode, npm
EnvIMAP_HOST, IMAP_USER, IMAP_PASS, SMTP_HOST, SMTP_USER, SMTP_PASS
Primary envSMTP_PASS

SKILL.md

Simple Email - 简单易用的邮件技能

通过 IMAP 协议接收和管理邮件,通过 SMTP 协议发送邮件。支持所有标准 IMAP/SMTP 邮件服务,包括 Gmail、QQ 邮箱、163、新浪、Outlook 等。

🚀 快速开始

1. 安装依赖

cd skills/simple-email
npm install

2. 配置邮箱

复制配置模板并填写你的邮箱信息:

cp .env.example .env

编辑 .env 文件,填入你的邮箱配置:

# IMAP 配置(接收邮件)
IMAP_HOST=imap.sina.cn
IMAP_PORT=993
IMAP_USER=makerprogram@sina.cn
IMAP_PASS=your_password_or_auth_code
IMAP_TLS=true

# SMTP 配置(发送邮件)
SMTP_HOST=smtp.sina.cn
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=makerprogram@sina.cn
SMTP_PASS=your_password_or_auth_code
SMTP_FROM=小智助理 <makerprogram@sina.cn>

# 安全配置(文件读写权限)
ALLOWED_READ_DIRS=C:\Users\Administrator\.openclaw\workspace
ALLOWED_WRITE_DIRS=C:\Users\Administrator\.openclaw\workspace

3. 测试连接

# 测试 SMTP 发送
node scripts/smtp.js test

# 检查收件箱
node scripts/imap.js check --limit 5

📥 接收邮件(IMAP)

检查新邮件

# 检查最新 10 封邮件
node scripts/imap.js check

# 检查最新 5 封邮件
node scripts/imap.js check --limit 5

# 只检查未读邮件
node scripts/imap.js check --unseen

# 检查最近 2 小时的邮件
node scripts/imap.js check --recent 2h

# 检查指定邮箱
node scripts/imap.js check --mailbox INBOX

搜索邮件

# 搜索未读邮件
node scripts/imap.js search --unseen

# 按发件人搜索
node scripts/imap.js search --from "boss@example.com"

# 按主题搜索
node scripts/imap.js search --subject "报告"

# 搜索最近 7 天的邮件
node scripts/imap.js search --recent 7d

# 组合搜索
node scripts/imap.js search --unseen --from "boss@example.com" --limit 10

查看邮件详情

# 查看指定 UID 的邮件
node scripts/imap.js fetch <uid>

标记已读/未读

# 标记为已读
node scripts/imap.js mark-read <uid1> <uid2> ...

# 标记为未读
node scripts/imap.js mark-unread <uid1> <uid2> ...

下载附件

# 下载邮件的所有附件
node scripts/imap.js download <uid>

# 下载到指定目录
node scripts/imap.js download <uid> --dir ./attachments

# 下载指定附件
node scripts/imap.js download <uid> --file report.pdf

列出所有邮箱

node scripts/imap.js list-mailboxes

📤 发送邮件(SMTP)

发送纯文本邮件

node scripts/smtp.js send --to recipient@example.com --subject "你好" --body "这是一封测试邮件"

发送 HTML 邮件

node scripts/smtp.js send --to recipient@example.com --subject "HTML 邮件" --html --body "<h1>你好</h1><p>这是<strong>HTML</strong>格式的邮件</p>"

发送带附件的邮件

node scripts/smtp.js send --to recipient@example.com --subject "报告" --body "请查收附件" --attach ./report.pdf

发送给多人

# 多个收件人
node scripts/smtp.js send --to "a@example.com,b@example.com" --subject "通知" --body "大家好"

# 抄送
node scripts/smtp.js send --to recipient@example.com --cc "cc1@example.com,cc2@example.com" --subject "抄送" --body "你好"

# 密送
node scripts/smtp.js send --to recipient@example.com --bcc "bcc@example.com" --subject "密送" --body "你好"

从文件读取内容

# 从文件读取邮件正文
node scripts/smtp.js send --to recipient@example.com --subject "报告" --body-file ./message.txt

# 从文件读取 HTML 内容
node scripts/smtp.js send --to recipient@example.com --subject "新闻稿" --html --html-file ./newsletter.html

# 从文件读取主题
node scripts/smtp.js send --to recipient@example.com --subject-file ./subject.txt --body-file ./body.txt

📋 常用邮箱服务器配置

服务商IMAP 主机IMAP 端口SMTP 主机SMTP 端口说明
新浪邮箱imap.sina.cn993smtp.sina.cn465使用授权码
QQ 邮箱imap.qq.com993smtp.qq.com587使用授权码
163 邮箱imap.163.com993smtp.163.com465使用授权码
126 邮箱imap.126.com993smtp.126.com465使用授权码
Gmailimap.gmail.com993smtp.gmail.com587使用应用专用密码
Outlookoutlook.office365.com993smtp.office365.com587使用应用密码

⚠️ 重要提示

Gmail 用户

163/QQ/新浪邮箱用户

  • 使用 授权码,不是账户密码
  • 需要在网页版邮箱设置中先启用 IMAP/SMTP 服务
  • 授权码在邮箱设置 → 账户安全中获取

🔒 安全建议

  1. 不要提交 .env 文件到版本控制系统
  2. 使用授权码/应用密码,而不是账户密码
  3. 启用 SSL/TLS 加密连接
  4. 定期更换密码
  5. 限制 ALLOWED_READ_DIRSALLOWED_WRITE_DIRS 到必要的目录

🐛 常见问题

认证失败

  • 检查用户名是否为完整邮箱地址
  • 确认使用授权码/应用密码,而非账户密码
  • 检查是否已启用 IMAP/SMTP 服务

连接超时

  • 检查服务器地址和端口是否正确
  • 确认网络连接正常
  • 检查防火墙设置

TLS/SSL 错误

  • 确认 IMAP_TLSSMTP_SECURE 设置正确
  • 自签名证书可设置 IMAP_REJECT_UNAUTHORIZED=false

📝 命令速查

IMAP 命令

node scripts/imap.js check [--limit N] [--unseen] [--recent 2h]
node scripts/imap.js search [--unseen] [--from xxx] [--subject xxx]
node scripts/imap.js fetch <uid>
node scripts/imap.js mark-read <uid> [uid2 ...]
node scripts/imap.js mark-unread <uid> [uid2 ...]
node scripts/imap.js download <uid> [--dir ./path]
node scripts/imap.js list-mailboxes

SMTP 命令

node scripts/smtp.js send --to <email> --subject <text> --body <text>
node scripts/smtp.js send --to <email> --subject <text> --html --body "<html>..."
node scripts/smtp.js send --to <email> --subject <text> --attach <file>
node scripts/smtp.js test

📄 许可证

MIT License

Files

7 total
Select a file
Select a file to preview.

Comments

Loading comments…