← Back to Skills Marketplace
xuwenke123

Generic Mail Client

by xuwenke123 · GitHub ↗ · v0.1.0
cross-platform ✓ Security Clean
850
Downloads
0
Stars
6
Active Installs
1
Versions
Install in OpenClaw
/install generic-mail-client
Description
Send, receive, and manage emails via IMAP/POP3 and SMTP for multiple accounts supporting text, HTML, attachments, folders, and read status.
README (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。

Usage Guidance
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.
Capability Analysis
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.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install generic-mail-client
  3. After installation, invoke the skill by name or use /generic-mail-client
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug generic-mail-client
Version 0.1.0
License
All-time Installs 6
Active Installs 6
Total Versions 1
Frequently Asked Questions

What is Generic Mail Client?

Send, receive, and manage emails via IMAP/POP3 and SMTP for multiple accounts supporting text, HTML, attachments, folders, and read status. It is an AI Agent Skill for Claude Code / OpenClaw, with 850 downloads so far.

How do I install Generic Mail Client?

Run "/install generic-mail-client" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Generic Mail Client free?

Yes, Generic Mail Client is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Generic Mail Client support?

Generic Mail Client is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Generic Mail Client?

It is built and maintained by xuwenke123 (@xuwenke123); the current version is v0.1.0.

💬 Comments