在需要批量发送个性化邮件、进行邮件合并或为多个收件人起草外联邮件(使用 Gmail)时使用此技能。
DraftMachine — Gmail Mail 合并通过 CLI.
功能概述
DraftMachine — Gmail Mail 合并通过 CLI.是一项面向实际任务的技能,主要用于DraftMachine 创建 CSV 列表 + Markdown 模板的 Gmail 草稿;草稿在发送前在用户的 Gmail 草稿文件夹中登陆审查。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
DraftMachine — 通过 CLI 实现 Gmail 邮件合并
DraftMachine 从 CSV 列表 + Markdown 模板生成 Gmail 草稿。所有草稿将直接存入用户的 Gmail「草稿」文件夹,供人工审核后再发送——不会自动发出任何邮件。
步骤 1 — 检查是否已安装
draftmachine --version
若命令未找到,请先安装:
pip install draftmachine
步骤 2 — 检查 Gmail 凭据
必须存在以下两个文件:
| 文件 | 用途 |
|---|---|
~/.draftmachine/client_secret.json |
从 Google Cloud Console 下载的 OAuth 应用凭据 |
~/.draftmachine/creds.json |
缓存的 OAuth token(由 draftmachine setup 自动创建) |
检查文件是否存在:
ls ~/.draftmachine/
若缺少 client_secret.json — 引导用户完成 GCP 配置
请告知用户:需执行一次性的设置,以将 DraftMachine 连接到其 Gmail 账户:
- 访问 Google Cloud Console,新建一个项目(或选择已有项目)。
- 进入 API 和服务 → 启用 API 和服务,启用 Gmail API。
- 进入 API 和服务 → 凭据 → 创建凭据 → OAuth 客户端 ID。
- 选择应用类型为 桌面应用。
- 点击 下载 JSON,并将该文件保存至
~/.draftmachine/client_secret.json。- 如目录不存在,可先执行
mkdir ~/.draftmachine创建。
- 如目录不存在,可先执行
- 运行
draftmachine setup—— 此操作将打开浏览器窗口,请求 Gmail 权限(仅限草稿范围),并保存获取的 token。
若 client_secret.json 存在但 creds.json 缺失
运行 draftmachine setup 以完成 OAuth 授权流程。
若两个文件均已存在
凭据已就绪 —— 可跳至步骤 3。
步骤 3 — 收集收件人列表并编写模板
CSV 文件
CSV 至少需包含一个邮箱列(默认列为 email)。其余任意列名均可作为模板变量使用。请询问用户手头有哪些数据;若用户在对话中粘贴了数据,请将其写入一个 .csv 文件。
示例:
email,first_name,company jane@example.com,Jane,Acme Corp bob@example.com,Bob,
Markdown 模板
模板是一个 .md 文件,包含 YAML frontmatter 区块用于定义主题行(subject),正文部分使用 Jinja2 语法书写 Markdown。请询问用户邮件正文应表达什么内容,然后据此编写模板。
---
subject: "致 {{ first_name }} 的简短备注"
---
您好 {{ first_name }},
{% if company %}
我了解到贵司 {{ company }},认为这封邮件或许对您有帮助。
{% endif %}
[此处填写邮件正文]
此致
[发件人姓名]
优质模板编写提示:
- 使用
{{ variable }}插入 CSV 中对应列的值。 - 对可选内容使用
{% if variable %}...{% endif %}包裹,避免因字段缺失导致格式异常或空白段落。 - 主题行(subject)同样支持 Jinja2 语法。
- 支持过滤器(如
{{ first_name | title }})和循环等 Jinja2 特性。
步骤 4 — 创建草稿前预览
务必先运行 --preview 参数。它仅在终端中渲染 CSV 的第一行,不调用任何 API,也不创建任何草稿。这是快速验证模板语法与格式是否正确的安全检查方式。
draftmachine send list.csv template.md --preview
若渲染结果符合预期,即可继续;若出现错误(如未定义变量、条件语句异常等),请修正模板后重新预览。
步骤 5 — 创建草稿
确认预览无误后,执行:
draftmachine send list.csv template.md
若邮箱地址所在列名不是 email,请使用 --to-column 指定:
draftmachine send list.csv template.md --to-column work_email
DraftMachine 采用两阶段策略:首先完整渲染所有行(任一行模板出错即提前中止),再统一通过 Gmail API 批量创建草稿。这意味着每次运行均为“全有或全无”——模板错误时不会产生部分草稿。
步骤 6 — 向用户反馈结果
命令执行完成后,请向用户说明以下信息:
- 共创建了多少封草稿。
- 这些草稿已出现在其 Gmail「草稿」文件夹中,可随时人工审阅并发送。
- 提醒用户检查终端输出中关于跳过行的警告(DraftMachine 会在收件人地址为空或缺失时于终端中给出提示)。
错误参考
| 错误 | 修复方法 |
|---|---|
command not found: draftmachine |
pip install draftmachine |
No such file: client_secret.json |
完成 GCP + OAuth 配置(见步骤 2) |
403 Forbidden |
OAuth token 缺少正确权限范围 —— 请重新运行 draftmachine setup |
429 Too Many Requests |
触及 Gmail API 请求频率限制;DraftMachine 将按退避策略重试 3 次。若持续失败,请等待片刻后重试 |
UndefinedError: '...' is undefined |
模板中引用的 CSV 列名与实际表头不一致 |
| 429 错误导致部分草稿生成 | 不支持断点续传;请稍等后重新运行完整命令(可能产生重复草稿,请手动删除多余项) |
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
