← 返回 Skills 市场
Generic Mail Client
作者
xuwenke123
· GitHub ↗
· v0.1.0
850
总下载
0
收藏
6
当前安装
1
版本数
在 OpenClaw 中安装
/install generic-mail-client
功能描述
Send, receive, and manage emails via IMAP/POP3 and SMTP for multiple accounts supporting text, HTML, attachments, folders, and read status.
使用说明 (SKILL.md)
generic-mail-client
通用邮箱客户端 Skill。支持任何基于 IMAP/POP3 + SMTP 且使用用户名+密码登录的邮箱:
- 阿里云企业邮箱
- QQ 邮箱 / 163 / Gmail / Outlook / Exchange(开启 IMAP/POP3/SMTP 后)
能力
- 多账号支持,通过 accountId 选择邮箱
- 发信(SMTP):
- 文本 / HTML / Markdown 正文
- 多个收件人(To/Cc/Bcc)
- 附件(base64 传输)
- 收信(IMAP/POP3):
- 列出最近邮件(指定文件夹、时间、是否未读、关键字)
- 查看邮件详情(标题、正文、附件信息)
- 获取附件内容(可选)
- 标记已读/未读、移动邮件(IMAP Only)
安全说明
- 所有邮箱凭据(host/port/username/password)只保存在宿主配置中,对 LLM 不可见。
- 日志中不记录完整邮件正文和附件内容,只记录接口调用结果、邮件 ID、时间等元数据。
- 强烈建议使用“机器人专用邮箱账号”或应用专用密码,不要用个人登录密码。
- 对发送频率和列表数量有默认上限,以防止误用为垃圾邮件工具。
配置
见 config.example.yaml,宿主侧复制为实际 config.yaml 后注入 skill。
安全使用建议
This skill appears to do what it says: send and receive email via SMTP/IMAP using credentials stored in config.yaml. Before installing, consider the following:
- Protect config.yaml: it contains account usernames and plaintext passwords. Store it securely, restrict filesystem permissions, or use application-specific passwords rather than personal account passwords.
- Understand data flow: getMessage returns message body text (and could be extended to return attachments). If your agent/LLM invokes the handlers, email contents will be visible to that agent. Do not load personal/private inboxes unless you trust the host and agent.
- Rate limiting / abuse: SKILL.md mentions send limits, but the code does not implement rate limiting. Ensure your host enforces sending limits and monitors for abuse to avoid accidental spamming.
- Dependency review: the package uses common npm libraries (imapflow, nodemailer). If your environment enforces supply-chain policies, vet those packages and the lockfile source mirrors.
- Operational: the skill will throw an error if config.yaml is missing; follow the SKILL.md instructions to populate config.yaml on the host side.
If you want stronger safety, use robot/service accounts or app-specific passwords, keep the config in a secrets manager and inject at runtime, and confirm which components (LLM, human UI, logs) will receive handler responses containing email bodies.
功能分析
Type: OpenClaw Skill
Name: generic-mail-client
Version: 0.1.0
The skill is a standard email client implementation providing SMTP and IMAP functionality using well-known libraries (nodemailer and imapflow). The code logic in 'src/mailClient.ts' and 'src/index.ts' aligns with the stated purpose of sending, listing, and retrieving emails based on a local configuration file. It follows security best practices by keeping credentials within the host configuration and only exposing email metadata or specific content to the AI agent upon request, with no evidence of hidden data exfiltration, unauthorized network calls, or malicious instructions.
能力评估
Purpose & Capability
Name/description match the code: the implementation uses nodemailer for SMTP and imapflow for IMAP, supports multi-account config, attachments, listing and fetching messages, and marking/moving via IMAP. The required resources (a config.yaml with account credentials) are appropriate for the stated purpose.
Instruction Scope
SKILL.md instructs the host to store mail credentials in config.yaml (not exposed to the LLM). The code reads that file and exports handlers for send/list/get/update operations. The skill returns message bodies (m.source is returned as bodyText) and attachment metadata; that means email content can flow back through the handler responses to whichever component invokes the skill (including an LLM). The README's logging/privacy promises are host-side policy statements rather than enforced by code. There are no instructions or code that read other unrelated files or contact external endpoints beyond configured mail servers.
Install Mechanism
No install spec is declared (instruction-only from platform perspective), and all code is bundled in the package. Dependencies are standard npm packages (imapflow, nodemailer, js-yaml) and package-lock references npm mirrors; there are no downloads from arbitrary URLs or extraction steps in the manifest.
Credentials
No environment variables are requested; instead credentials are expected in config.yaml (username/password per account). That is proportionate to an email client, but storing plaintext credentials in a config file requires host-side protection (file permissions, secret storage, or app-specific passwords). The number and type of secrets requested is minimal and appropriate for the function.
Persistence & Privilege
The skill is not always-enabled and does not request system-wide persistence or modify other skills. It exposes handlers for the platform to call; autonomous invocation is allowed by default but is not combined here with other elevated privileges.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install generic-mail-client - 安装完成后,直接呼叫该 Skill 的名称或使用
/generic-mail-client触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
- Initial release of generic-mail-client skill.
- Supports multiple email providers using IMAP/POP3 + SMTP with username/password login.
- Features multi-account support, sending emails (text/HTML/Markdown, multiple recipients, attachments), and receiving emails (listing/filtering, reading details, attachments).
- Includes email management functions: mark read/unread and move emails (IMAP only).
- Credentials and sensitive data are securely stored; logs contain only metadata.
- Usage limits and security best practices are implemented to prevent misuse.
元数据
常见问题
Generic Mail Client 是什么?
Send, receive, and manage emails via IMAP/POP3 and SMTP for multiple accounts supporting text, HTML, attachments, folders, and read status. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 850 次。
如何安装 Generic Mail Client?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install generic-mail-client」即可一键安装,无需额外配置。
Generic Mail Client 是免费的吗?
是的,Generic Mail Client 完全免费(开源免费),可自由下载、安装和使用。
Generic Mail Client 支持哪些平台?
Generic Mail Client 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Generic Mail Client?
由 xuwenke123(@xuwenke123)开发并维护,当前版本 v0.1.0。
推荐 Skills