logo
0
0
WeChat Login
aidi<aidi@aidideMac-mini.lan>
Initial open source release

Personalized Batch Email Engine

English | 简体中文

中文名:个性化批量邮件引擎

英文名:Personalized Batch Email Engine

Personalized Batch Email Engine 是一个面向已授权收件人的轻量级 SMTP 发信技能包,适用于 Codex / OpenClaw 一类自动化工作流。

它适合这些场景:

  • 客户生命周期邮件
  • 合作方与供应商联系人邮件
  • 内部通知
  • 支持与服务跟进
  • 已订阅用户邮件
  • Mailpit / Mailtrap 本地 SMTP 测试

它不适合这些场景:

  • 抓取名单后的群发外联
  • 未经授权的冷开发信
  • 批量营销骚扰

为什么做这个项目

很多邮件自动化工具都建立在 UI、隐藏状态和平台侧配置上。这个项目反过来强调文件化、可检查和可审计:

  • 输入就是 CSVJSONL
  • 授权状态直接写在数据中
  • 先 dry-run,再真实发送
  • SMTP 登录可单独探测
  • 输出只有 send_log.csvsummary.json

这样更容易接入现有 AI 工作流、运维流程和代码仓库。

核心功能

  • 基于 CSVJSONL 的已授权 SMTP 批量发信
  • 通过 consent_statusaudience_type 做显式授权校验
  • 支持 Mailpit / Mailtrap 本地 SMTP 测试
  • 支持真实发信前先做 dry-run
  • 支持通过 --min-gap-seconds / --max-gap-seconds 控制发送节奏
  • 支持通过 --smtp-env-file 加载 .env 风格的 SMTP 密码文件
  • 支持把合作方联系人名单转换成带授权字段的标准批次
  • 支持把 OpenClaw approved_to_send.csv 转换成 authorized.csv
  • 提供独立的 SMTP 登录探针,便于快速诊断认证问题

仓库结构

personalized-batch-email-engine/ ├── README.md ├── README.zh-CN.md ├── FEATURES.en.md ├── FEATURES.zh-CN.md ├── SKILL.md ├── SKILL.zh-CN.md ├── assets/ │ └── sample-authorized-email-batch.csv └── scripts/ ├── send_authorized_batch.py ├── mark_partner_contacts.py ├── convert_openclaw_approved_to_authorized.py └── smtp_login_probe.py

输入格式

必填字段:

  • email
  • subject
  • body

真实发送时,至少要存在一个授权字段:

  • consent_status
  • audience_type

支持的授权类型:

  • opt_in
  • subscribed
  • customer
  • partner
  • partner_contact
  • transactional
  • support
  • internal

推荐补充字段:

  • authorization_basis
  • authorization_note
  • relationship_owner
  • from_email
  • reply_to
  • list_unsubscribe

快速开始

dry-run:

python3 scripts/send_authorized_batch.py \ --input assets/sample-authorized-email-batch.csv \ --output-dir /tmp/authorized-email-dryrun \ --dry-run

SMTP 登录测试:

python3 scripts/smtp_login_probe.py \ --smtp-env-file /path/to/.smtp_env \ --smtp-host smtp.example.com \ --smtp-port 465 \ --smtp-security ssl \ --smtp-username ops@example.com \ --smtp-password-env SMTP_PASSWORD

真实发送:

python3 scripts/send_authorized_batch.py \ --input /path/to/authorized.csv \ --output-dir /tmp/authorized-live \ --smtp-env-file /path/to/.smtp_env \ --smtp-host smtp.example.com \ --smtp-port 465 \ --smtp-security ssl \ --smtp-username ops@example.com \ --smtp-password-env SMTP_PASSWORD \ --from-email ops@example.com \ --reply-to ops@example.com \ --min-gap-seconds 2 \ --max-gap-seconds 3

SMTP 密码文件

支持两种格式:

SMTP_PASSWORD=your-secret

或者:

export SMTP_PASSWORD=your-secret

辅助脚本

mark_partner_contacts.py

给真实合作方或供应商联系人名单补齐授权字段。

convert_openclaw_approved_to_authorized.py

把 OpenClaw 产出的 approved_to_send.csv 转成标准 authorized.csv

smtp_login_probe.py

只测试 SMTP 登录,不发送邮件。

输出

每次运行都会写出:

  • send_log.csv
  • summary.json

这两个文件适合用于:

  • 发信结果核对
  • 运维排查
  • 自动化后续处理
  • 审计记录沉淀

推荐 GitHub 描述

一个面向已授权收件人的轻量级一对一个性化批量 SMTP 邮件自动化技能包,支持 dry-run、合作方联系人批次转换和本地 Mailpit 测试。

推荐 Topics

smtp, email-automation, python, codex-skill, mailpit, mailtrap, transactional-email, ops-tooling

非目标

  • 冷开发信群发
  • 抓取名单外联
  • 黑盒营销系统
  • 隐藏状态的活动平台

许可证

发布前请补上与你的开源计划一致的 LICENSE 文件。