Send Email Tool

📧 安全 SMTP 邮件自动化发送

通过 SMTP 发送纯文本/HTML 邮件,支持附件与抄送密送,采用 keyring 安全存储密码,适合自动化邮件通知场景

收藏
3.6k
安装
1.1k
版本
1.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

该技能是一款基于 Python 的命令行邮件发送工具,通过 SMTP 协议实现邮件自动化发送。核心工作流分为配置阶段与发送阶段:首次使用时需依次配置 SMTP 服务器(smtp 子命令)、发件人信息(sender 子命令)及密码存储(password --save),后续发送仅需调用 send 子命令并指定收件人、主题、正文等参数即可。支持主流邮箱服务(Gmail、QQ、163、Outlook),兼容 TLS/SSL 加密传输。

功能覆盖三大场景:纯文本快速通知、HTML 富媒体邮件(支持内联样式)、带附件的正式报告。高级功能包括多收件人批量发送、抄送(CC)与密送(BCC)的灵活组合。配置持久化存储于 ~/.send_email_config.json,避免重复输入。

显著优点

  • 密钥安全架构:强制使用系统 keyring 存储密码,拒绝命令行传参,从根本上消除密码泄露风险;keyring 不可用时降级为 base64 编码文件(权限 600),仍优于明文
  • 协议兼容广泛:预置 Gmail、QQ、163、Outlook 的 SMTP 参数模板,降低配置门槛
  • 格式灵活:同一工具覆盖文本通知到精美 HTML 邮件,附件支持多文件批量附加
  • 零交互发送:配置完成后可完全自动化,适合 CI/CD 流水线、定时任务脚本集成

潜在缺点与局限性

  • 依赖外部服务:邮件送达率受收件方反垃圾策略影响,无内置退信处理与重试机制
  • 本地配置单点故障:配置与密码文件存储于用户目录,多用户环境或容器场景需额外同步
  • HTML 渲染兼容性:未提供邮件客户端兼容性测试工具,复杂样式可能在 Outlook 等客户端失真
  • 无发送日志追踪:缺乏邮件发送状态回调与历史记录查询,失败排查依赖 SMTP 服务器日志

适合人群

  • 运维工程师:服务器告警自动化通知
  • 数据分析师:定时报告邮件推送
  • 开发者:CI/CD 流程结果通知
  • 小型团队:低成本内部自动化工具(无商业邮件服务预算)

常规风险

| 风险类别 | 描述 | 缓解措施 |
|---------|------|---------|
| 凭证泄露 | keyring 故障时降级为 base64 文件,存在编码后泄露风险 | 定期检查 `~/.send_email_password` 权限,优先确保 keyring 可用 |
| 中间人攻击 | SMTP 服务器配置错误可能导致未加密传输 | 严格核对端口与 TLS/SSL 配置,禁用明文端口 25 |
| 应用密码滥用 | Gmail 等服务的「应用专用密码」权限等同主账户 | 遵循最小权限原则,为不同用途生成独立应用密码 |
| 附件恶意利用 | 自动化脚本可能被诱导发送恶意附件 | 对 `--attachments` 参数来源做输入校验,避免路径遍历 |

安全等级评定为 A,来源可信度 T2(开源工具,有明确安全设计但未经过第三方渗透测试)。

Send Email Tool 内容

scripts文件夹
手动下载zip · 6.9 kB
send_email.pytext/plain
请选择文件