custom-smtp-sender

📧 安全可靠的自动化邮件发送助手

基于 Python 标准库构建的零依赖 SMTP 邮件工具,支持 Markdown/HTML 格式与附件传输,凭据本地安全存储,为开发者提供可审计的自动化邮件解决方案。

收藏
2.8k
安装
1.3k
版本
v1.0.0
CLS 安全性认证2026-05-05
点击查看完整报告 >

使用说明

Custom SMTP Sender 是一款基于 Python 标准库开发的命令行邮件发送工具,专为需要将邮件功能集成到自动化工作流的技术团队设计。该工具通过读取本地 SMTP 配置文件(/home/bb/.openclaw/smtp-config.json)完成身份验证,支持 Markdown 语法自动转换为 HTML、多附件上传以及智能失败重试机制,用户可通过简洁的 CLI 参数快速构造并发送复杂格式的邮件内容。

该工具的显著优势体现在其零外部依赖的架构设计上,完全基于 Python 内置的 smtplib、email、json 等标准库实现,彻底消除了第三方包可能带来的供应链攻击风险。功能层面,它不仅支持纯文本与 HTML 双格式输出,还内置了最多 3 次的自动重试逻辑和完整的操作日志记录,确保关键通知的可靠投递与事后审计。安全性方面,敏感凭据采用外部配置文件隔离存储,避免了硬编码带来的代码泄露风险,同时官方明确建议用户通过 chmod 600 严格限制配置文件的访问权限,实现权限最小化原则。

然而,该技能也存在一定的使用局限性。首先,它要求用户预先手动创建并正确配置 SMTP 凭据文件,对非技术背景用户存在明显的上手门槛;其次,当前版本缺少对 CC/BCC 抄送功能的支持,也不具备邮箱地址格式验证和附件文件存在性预检查机制,输入错误时可能产生运行时异常。此外,所有邮件内容构造均依赖本地文件系统读取,在容器化、沙箱或受限权限环境中可能遇到文件访问问题。

该技能特别适合后端开发者、DevOps 工程师以及需要构建自动化通知系统的系统管理员。典型应用场景包括:CI/CD 流水线构建结果通知、定时任务执行状态报告、系统监控报警邮件发送、定期数据报表自动分发等。对于需要大规模发送营销邮件或处理高度敏感机密数据的场景,建议充分评估 SMTP 服务商的安全策略与发送频率限制后再做选择。

使用过程中需重点关注以下潜在风险:配置文件若未按规范设置权限(600)可能导致凭据被同服务器其他用户读取;附件路径参数若未仔细核对,存在意外发送包含敏感信息的错误文件的可能性;在网络环境不可信(如公共 Wi-Fi)的情况下通过 SMTP 传输邮件内容存在被中间人攻击截获的风险。建议配合专用 SMTP 服务账号(避免使用个人主邮箱)使用,并定期审查日志审计记录以发现异常发送行为。

安全解读

核心用法

custom-smtp-sender 是一个基于Python标准库实现的SMTP邮件发送Skill,无需任何第三方依赖。用户需预先在 /home/bb/.openclaw/smtp-config.json 配置SMTP服务器信息,随后即可通过命令行发送邮件:

  • 基础发送:custom-smtp-sender send --to "xxx" --subject "xxx" --body "xxx"
  • HTML/Markdown格式:添加 --html 参数,自动将Markdown渲染为HTML邮件
  • 附件支持:通过 --attachments path/to/file 添加多个文件

Skill内置3次重试机制和详细日志记录,失败时会输出具体网络或认证错误。

显著优点

| 维度 | 表现 |
|------|------|
| **轻量安全** | 仅141行Python代码,零第三方依赖,攻击面极小 |
| **功能完整** | 覆盖Markdown→HTML转换、多附件、重试、日志等完整邮件场景 |
| **隐私合规** | 无遥测、无数据收集、配置本地存储,通过GDPR数据最小化检查 |
| **行为透明** | 静态/动态分析均无异常,网络流量仅连接用户配置的SMTP服务器 |

潜在缺点与局限性

1. 来源可信度待验证:维护者为个人开发者scccmsd,标记为T3级别,GitHub仓库信誉无法自动验证
2. 文件读取风险:附件功能可读取任意路径文件,若被诱导附加敏感文件(如SSH密钥)可能导致信息泄露

3. 功能边界有限:暂不支持CC/BCC、邮件模板、定时发送等进阶功能

4. 配置依赖:必须手动维护JSON配置文件,无交互式配置向导

适合人群

  • 需要轻量化、零依赖邮件自动化脚本的开发者
  • 对隐私敏感、不愿使用第三方邮件API的用户
  • 已有自有SMTP服务器(如企业邮箱、自建邮件服务)的技术团队
  • 愿意手动审查代码来源的谨慎型用户

常规风险

  • 信息泄露风险:附件功能需用户自行管控文件访问权限,建议配合chroot或容器沙箱使用
  • 凭证安全:SMTP密码以明文存储于JSON文件,必须设置文件权限为600
  • 来源验证不足:建议部署前手动核查GitHub仓库提交历史与维护者背景

custom-smtp-sender 内容

手动下载zip · 2.4 kB
email_sender.pytext/plain
请选择文件