← 返回 Skills 市场
mguozhen

Email Manager with DB

作者 mguozhen · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ⚠ suspicious
72
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install email-manager-with-db
功能描述
Email account manager with IMAP/SMTP support and local database. Manage multiple email accounts, sync inbox, send emails, search, set filters, and generate d...
使用说明 (SKILL.md)

Email Manager Skill

This skill manages email accounts and interacts with them via IMAP and SMTP.

Commands

account

Manage email accounts.

  • add: Add a new email account.
    • node cli.js account add --email \x3Cemail> --password \x3Capp-password> [--imap-host \x3Chost>] [--imap-port \x3Cport>] [--smtp-host \x3Chost>] [--smtp-port \x3Cport>]
  • list: List all configured email accounts.
    • node cli.js account list
  • remove: Remove an email account.
    • node cli.js account remove \x3Caccount-id>

test

Test the IMAP and SMTP connection for an account. node cli.js test \x3Caccount-id>

sync

Sync emails from the server. node cli.js sync \x3Caccount-id> [--folder \x3Cfolder-name>] [--limit \x3Cnumber>]

inbox

List emails in the inbox. node cli.js inbox \x3Caccount-id> [--limit \x3Cnumber>] [--unread] [--no-filtered]

read

Read the content of a specific email. node cli.js read \x3Cemail-id>

send

Send an email. node cli.js send \x3Caccount-id> --to \x3Crecipient> --subject "\x3Csubject>" --body "\x3Cbody>"

search

Search for emails. node cli.js search \x3Caccount-id> --query "\x3Cquery>"

folders

List all folders for an account. node cli.js folders \x3Caccount-id>

filter

Manage email filters.

  • list: List all filter rules.
    • node cli.js filter list [account-id]
  • add: Add a new filter rule.
    • node cli.js filter add --field \x3Cfrom|to|subject> --pattern "\x3Cpattern>" [--account-id \x3Cid>]
  • remove: Remove a filter rule.
    • node cli.js filter remove \x3Crule-id>

stats

Show statistics about emails. node cli.js stats [account-id]

report

Daily send report: how many emails were sent and how many failed. Defaults to today. Use --date to specify a date, or --days for a multi-day range.

node cli.js report [account-id] [--date YYYY-MM-DD] [--days \x3Cnumber>]

  • No flags: today's report
  • --date 2026-03-31: report for a specific date
  • --days 7: report for the last 7 days (broken down by day)

Output includes: total / sent / failed counts, success rate, and recent failure details (recipient, subject, error message).

安全使用建议
This skill appears to implement the described email manager, but there are a few red flags to check before installing or running it: - Sensitive data: account app passwords are stored in a local SQLite database. Only install/run in an environment you control. Back up or encrypt data if needed. - Missing/undeclared env vars: README requires UNSUB_BASE_URL (public unsubscribe tracking URL) and recommends an UNSUB_SECRET; the registry metadata did not declare these. You must set a strong UNSUB_SECRET and a proper UNSUB_BASE_URL for List-Unsubscribe headers to work safely. Do not rely on the example default secret. - Example server path: examples/email_tracker.py hardcodes DB_PATH to /Users/guozhen/..., and will write to that path if run unchanged. Edit the script to use a safe path (or an env var like TRACKING_DB_PATH) before running. - Dependencies/build: running npm install will compile native modules (better-sqlite3). Review package.json and package-lock; the lockfile references a non-default npm mirror (registry.npmmirror.com). If you require source provenance, consider auditing or replacing with packages fetched from a registry you trust. - Operational risks: this tool is designed for bulk outreach (the README even emphasizes cold email rotation). Ensure your use complies with email provider policies and laws; misuse can lead to account suspension or legal exposure. Recommendations: review/modify the example server DB path and default secret, set UNSUB_SECRET to a strong value, set UNSUB_BASE_URL to a public domain you control (or leave it unset if you don't want tracking/one-click unsubscribe headers), and run the skill in an isolated environment. If you want the skill in an automated agent, explicitly confirm the agent is allowed to manage account credentials and send emails on your behalf.
功能分析
Type: OpenClaw Skill Name: email-manager-with-db Version: 1.1.0 The skill manages email accounts but stores sensitive credentials (email addresses and app passwords) in plain text within a local SQLite database (src/db.js, src/accounts.js). It also includes a tracking server (examples/email_tracker.py) designed to log recipient IP addresses, User-Agents, and interaction data (opens/clicks), which, while aligned with the stated 'cold email' purpose, constitutes a high-risk tracking capability. Additionally, the code contains hardcoded absolute file paths (e.g., /Users/guozhen/MailOutbound/tracking.db in src/unsubscribe.js), suggesting it was extracted from a specific user environment and may exhibit unpredictable behavior on other systems.
能力标签
crypto
能力评估
Purpose & Capability
The code implements the declared functionality (IMAP/SMTP, local SQLite DB, filters, suppression list, RFC8058 unsubscribe support and a tracking/unsubscribe example server). That behavior is coherent with the skill name/description. However, the README declares runtime environment variables (UNSUB_BASE_URL, UNSUB_SECRET, DB path overrides) that are required or recommended for full operation but the registry metadata lists no required env vars — an omission that is inconsistent and should be corrected.
Instruction Scope
SKILL.md shows only Bash/node CLI commands (node cli.js ...), which matches the included Node CLI. The README and examples additionally reference running a Python unsubscribe/tracking server (examples/email_tracker.py). The example server contains an absolute DB path that points to the developer's home (/Users/guozhen/...), and a default UNSUB_SECRET fallback ('solvea-default-secret-change-me'). The presence of an example that will write to an absolute path and defaults to a weak secret is unexpected and should be treated cautiously. The instructions do not ask the agent to read arbitrary system files, but they do require persistent storage and network endpoints for unsubscribe/tracking.
Install Mechanism
There is no formal install spec in the registry (instruction-only), but package.json/package-lock are present and README instructs running 'npm install'. Dependencies include native modules (better-sqlite3 has an install script) which will compile during install. The package-lock 'resolved' URLs point to registry.npmmirror.com (a mirror) rather than the default npm registry; that's unusual and worth noticing but not necessarily malicious. No custom remote download/extract install steps are present.
Credentials
The skill will handle highly sensitive data: user email addresses and app-specific passwords are stored in local SQLite (accounts.app_password). The README lists UNSUB_BASE_URL (marked as required for headers) and UNSUB_SECRET (recommended) along with DB path env vars, but the registry metadata declares no required env vars and primary credential none. That mismatch is concerning because the skill's correct and safe operation depends on those environment variables (and on you supplying HMAC secret and public base URL) yet they are not declared upfront. The example server also defaults to a weak secret if UNSUB_SECRET is not set.
Persistence & Privilege
The skill does not request always:true and won't be force-included. It writes its own data under a 'data' directory relative to the skill (src/db.js creates ./data/emails.db), which is normal for a local app. The only atypical persistence is the example Python server which uses a hardcoded absolute DB_PATH (/Users/guozhen/...) that would attempt to create/modify that path if run as-is; this is an authoring oversight rather than an explicit privilege escalation.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install email-manager-with-db
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /email-manager-with-db 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Added RFC 8058 one-click unsubscribe, HMAC-signed tokens, suppression list with pre-send enforcement, and 20 regression tests.
v1.0.0
Initial release of email-manager-with-db - Manage multiple email accounts with IMAP/SMTP support and a local database. - Add, list, and remove email accounts. - Sync inbox, list emails, and read specific messages. - Send emails and search across inbox messages. - Manage email filters and folders. - Generate daily and multi-day send/failure reports with statistics. - Test account IMAP/SMTP connections for troubleshooting.
元数据
Slug email-manager-with-db
版本 1.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Email Manager with DB 是什么?

Email account manager with IMAP/SMTP support and local database. Manage multiple email accounts, sync inbox, send emails, search, set filters, and generate d... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 72 次。

如何安装 Email Manager with DB?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install email-manager-with-db」即可一键安装,无需额外配置。

Email Manager with DB 是免费的吗?

是的,Email Manager with DB 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Email Manager with DB 支持哪些平台?

Email Manager with DB 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Email Manager with DB?

由 mguozhen(@mguozhen)开发并维护,当前版本 v1.1.0。

💬 留言讨论