Email Sender — 电子邮件发送器
v1.0.0通过SMTP协议使用QQ邮箱发送支持纯文本、HTML、附件的邮件,支持多收件人及抄送、密送功能。
运行时依赖
安装命令
点击复制技能文档
QQ邮箱邮件发送技能 | Email Sender Skill 概述 | Overview 这是一个专为 OpenClaw AI Agent 设计的邮件自动发送和接收技能。通过 SMTP/POP3 协议实现邮件收发,支持附件、抄送等功能。 这是一个为 OpenClaw AI Agent 设计的电子邮件自动化技能。它通过 SMTP/POP3 协议实现电子邮件发送和接收,支持附件和抄送。
解决的问题 | Problem Solving 多 OpenClaw 协作痛点 | Multi-Agent Collaboration Pain Points 使用飞书的局限: ❌ Agent 群聊消息容易丢失 ❌ 云文档沟通效率低,经常出现空白内容 ❌ 消息同步不及时,无法追踪任务状态 飞书的使用局限: ❌ Agent 之间的群聊消息容易丢失 ❌ 云文档通信效率低,经常出现空白内容 ❌ 消息同步不及时,无法跟踪任务状态
邮件协作的优势: ✅ 消息100%可靠传输,不会丢失 ✅ 完整的对话历史记录,便于追溯 ✅ 支持附件传输,方便文件共享 ✅ 跨平台兼容,任何邮件客户端都能接收 电子邮件协作的优势: ✅ 100% 可靠的消息传递,永远不会丢失 ✅ 完整的对话历史记录,方便跟踪 ✅ 支持附件传输,方便文件共享 ✅ 跨平台兼容,任何电子邮件客户端都可以接收
核心功能 | Core Features 功能 Feature 说明 发送邮件 Send Email 支持纯文本、HTML格式 附件发送 Attachments 支持PDF、图片、文档等 抄送功能 CC/BCC 支持多人抄送 邮件接收 Receive Email 定时检查收件箱 自动回复 Auto Reply 可配置自动回复规则 核心功能: 发送电子邮件 Send Email 支持纯文本和 HTML 格式 附件发送 Attachments 支持 PDF、图片、文档等 抄送功能 CC/BCC 支持多人抄送 电子邮件接收 Receive Email 定时检查收件箱 自动回复 Auto Reply 可配置自动回复规则
使用场景 | Use Cases
- 多 Agent 任务协作 | Multi-Agent Task Collaboration
- 定时报告推送 | Scheduled Report Delivery
- 跨平台文件传输 | Cross-Platform File Transfer
- 多 Agent 任务协作 | 多 Agent 任务协作
- 定时报告推送 | 定时报告发送
- 跨平台文件传输 | 跨平台文件传输
技术配置 | Technical Configuration QQ邮箱配置 | QQ Mail Configuration 配置项 Config 值 Value SMTP服务器 SMTP Server smtp.qq.com SMTP端口 SMTP Port 465 (SSL) / 587 (TLS) POP3服务器 POP3 Server pop.qq.com POP3端口 POP3 Port 995 (SSL) 用户名 Username your@qq.com 密码 Password 授权码(非QQ密码) 获取授权码 | Get Authorization Code 登录 mail.qq.com 进入设置 → 账户 开启 POP3/SMTP 服务 获取授权码 技术配置: QQ 邮箱配置: 配置项 Config 值 Value SMTP 服务器 SMTP Server smtp.qq.com SMTP 端口 SMTP Port 465 (SSL) / 587 (TLS) POP3 服务器 POP3 Server pop.qq.com POP3 端口 POP3 Port 995 (SSL) 用户名 Username your@qq.com 密码 Password 授权码(非 QQ 密码) 获取授权码: 登录 mail.qq.com,进入设置 → 账户 开启 POP3/SMTP 服务 获取授权码
安装依赖 | Installation pip install python-docx 安装依赖: 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() 示例代码: 发送简单电子邮件 | 发送简单电子邮件 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) 发送带附件的电子邮件 | 发送带附件的电子邮件 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) 接收电子邮件 | 接收电子邮件 import poplib import ssl pop_server = "pop.qq.com