Email Sender

v1.1.0

通过SMTP协议使用QQ邮箱发送支持纯文本、HTML、附件的邮件,支持多收件人及抄送密送功能。

0· 341·3 current·3 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The SKILL.md clearly requires an email username and an SMTP/POP3 authorization code (password) to send/receive mail, but the skill's declared requirements list no primary credential or required environment variables. That mismatch is incoherent: an email-sending skill normally needs a credential declaration and guidance for secure storage/use.
!
Instruction Scope
Runtime instructions show direct use of mailbox credentials and reading local files for attachments (expected for an email tool). However the SKILL.md provides no guidance on how the agent should obtain or securely store the authorization code, nor does the metadata declare the credential. Also features like 'scheduled inbox checks' and 'auto-reply' are described without limits, which could lead to an agent polling a mailbox or sending messages autonomously if misconfigured.
Install Mechanism
This is an instruction-only skill (no install spec). SKILL.md suggests 'pip install python-docx' although the provided sample code does not reference python-docx; the README discusses Node/npm/ClawHub CLI for publishing (developer-facing) which is unrelated to runtime. These are mild inconsistencies but not high-risk installation actions.
!
Credentials
The skill requires sensitive data (email address and authorization code) but declares no required env vars or primary credential. That under-declaration is a red flag because it leaves ambiguous how credentials are supplied and protected. The skill would reasonably need at minimum one credential variable (e.g., QQ_EMAIL and QQ_SMTP_AUTH) or explicit secure-vault instructions.
Persistence & Privilege
No persistent install, no always:true, and no config paths requested. The skill is user-invocable only and does not request elevated platform privileges.
What to consider before installing
This skill appears to do what it says (send and receive QQ Mail via SMTP/POP3) but the package metadata fails to declare the required mailbox credentials. Before installing or using it: 1) Don’t paste your QQ mailbox authorization code into chat — provide credentials only via a secure secret store or agent credential mechanism. 2) Ask the skill author (or adjust metadata) to declare required env vars (e.g., QQ_EMAIL, QQ_SMTP_AUTH) and document secure storage/backoff behavior for auto-reply and scheduled checks. 3) Confirm whether the agent will act only when explicitly invoked (to avoid unattended sending) and whether attachments or inbox contents may be transmitted elsewhere. 4) The suggested pip dependency (python-docx) and README references to Node/ClawHub look unrelated to runtime — verify you actually need those before installing. If you cannot confirm secure credential handling and autonomous behavior limits, treat the skill with caution or run it in an isolated environment.

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

automationvk973qbqczphn5dkd2pwqcpg56h82673gemailvk973qbqczphn5dkd2pwqcpg56h82673glatestvk97fzfje7q2cf95qfwysxy0cmh8272rkqqmailvk973qbqczphn5dkd2pwqcpg56h82673gsmtpvk973qbqczphn5dkd2pwqcpg56h82673g
341downloads
0stars
2versions
Updated 1mo ago
v1.1.0
MIT-0

QQ邮箱邮件发送技能 | Email Sender Skill

概述 | Overview

这是一个专为 OpenClaw AI Agent 设计的邮件自动发送和接收技能。通过 SMTP/POP3 协议实现邮件收发,支持附件、抄送等功能。

This is an email automation skill designed for OpenClaw AI Agents. It enables email sending and receiving via SMTP/POP3 protocols, with support for attachments and CC.


解决的问题 | Problem Solving

多 OpenClaw 协作痛点 | Multi-Agent Collaboration Pain Points

使用飞书的局限:

  • ❌ Agent 群聊消息容易丢失
  • ❌ 云文档沟通效率低,经常出现空白内容
  • ❌ 消息同步不及时,无法追踪任务状态

Limitations of using Feishu (Lark):

  • ❌ Group chat messages between agents are often lost
  • ❌ Cloud document communication is inefficient with frequent blank content
  • ❌ Message sync is not timely, making task tracking difficult

邮件协作的优势:

  • ✅ 消息100%可靠传输,不会丢失
  • ✅ 完整的对话历史记录,便于追溯
  • ✅ 支持附件传输,方便文件共享
  • ✅ 跨平台兼容,任何邮件客户端都能接收

Advantages of Email Collaboration:

  • ✅ 100% reliable message delivery, never lost
  • ✅ Complete conversation history for easy tracking
  • ✅ Supports file attachments for easy sharing
  • ✅ Cross-platform compatibility, works with any email client

核心功能 | Core Features

功能Feature说明
发送邮件Send Email支持纯文本、HTML格式
附件发送Attachments支持PDF、图片、文档等
抄送功能CC/BCC支持多人抄送
邮件接收Receive Email定时检查收件箱
自动回复Auto Reply可配置自动回复规则

使用场景 | Use Cases

1. 多 Agent 任务协作 | Multi-Agent Task Collaboration

# Agent A 完成任务后通知 Agent B
send_email(
    to="agent_b@company.com",
    subject="任务完成: 数据分析",
    body="已完成数据分析,结果见附件"
)

2. 定时报告推送 | Scheduled Report Delivery

# 每日自动发送报告
send_email(
    to="team@company.com", 
    subject="每日工作报告",
    attachment="/path/to/report.pdf"
)

3. 跨平台文件传输 | Cross-Platform File Transfer

# 文件在不同设备间传输
send_email(
    to="another_device@email.com",
    attachment="/large/file.zip"
)

技术配置 | Technical Configuration

QQ邮箱配置 | QQ Mail Configuration

配置项ConfigValue
SMTP服务器SMTP Serversmtp.qq.com
SMTP端口SMTP Port465 (SSL) / 587 (TLS)
POP3服务器POP3 Serverpop.qq.com
POP3端口POP3 Port995 (SSL)
用户名Usernameyour@qq.com
密码Password授权码(非QQ密码)

获取授权码 | Get Authorization Code

  1. 登录 mail.qq.com
  2. 进入设置 → 账户
  3. 开启 POP3/SMTP 服务
  4. 获取授权码

安装依赖 | Installation

pip install python-docx

示例代码 | Sample Code

发送简单邮件 | Send Simple Email

import smtplib
import ssl
from email.mime.text import MIMEText

smtp_server = "smtp.qq.com"
smtp_port = 465
username = "your@qq.com"
password = "授权码"

msg = MIMEText("邮件内容", "plain", "utf-8")
msg["Subject"] = "邮件标题"
msg["From"] = username
msg["To"] = "receiver@example.com"

ctx = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, smtp_port, context=ctx) as server:
    server.login(username, password)
    server.send_message(msg)

发送带附件的邮件 | Send Email with Attachment

import smtplib
import ssl
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

msg = MIMEMultipart()
msg["From"] = username
msg["To"] = "receiver@example.com"
msg["Subject"] = "带附件的邮件"

msg.attach(MIMEText("邮件正文", "plain", "utf-8"))

# 添加附件
with open("file.pdf", "rb") as f:
    part = MIMEBase("application", "pdf")
    part.set_payload(f.read())
    encoders.encode_base64(part)
    part.add_header("Content-Disposition", "attachment", filename="file.pdf")
    msg.attach(part)

ctx = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, smtp_port, context=ctx) as server:
    server.login(username, password)
    server.send_message(msg)

接收邮件 | Receive Email

import poplib
import ssl

pop_server = "pop.qq.com"
pop_port = 995
username = "your@qq.com"
password = "授权码"

ctx = ssl.create_default_context()
server = poplib.POP3_SSL(pop_server, pop_port, context=ctx)
server.user(username)
server.pass_(password)

# 获取邮件数量
num = len(server.list()[1])
print(f"收件箱: {num} 封邮件")

# 获取最新邮件
msg = server.retr(num)[1]
server.quit()

适用人群 | Target Users

  • 🤖 使用 OpenClaw 的 AI Agent 开发者
  • 👥 需要多 Agent 协作的团队
  • 📧 需要可靠消息传递的场景
  • 📁 需要传输大文件的用户

版本 | Version

  • v1.0.0 - 初始版本 | Initial version

作者 | Author

OpenClaw Community


许可 | License

MIT License

Comments

Loading comments...