在需要批量发送个性化邮件、进行邮件合并或为多个收件人起草外联邮件(使用 Gmail)时使用此技能。
DraftMachine — Gmail Mail 合并通过 CLI.是一项面向实际任务的技能,主要用于DraftMachine 创建 CSV 列表 + Markdown 模板的 Gmail 草稿;草稿在发送前在用户的 Gmail 草稿文件夹中登陆审查。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
DraftMachine 从 CSV 列表 + Markdown 模板生成 Gmail 草稿。所有草稿将直接存入用户的 Gmail「草稿」文件夹,供人工审核后再发送——不会自动发出任何邮件。
draftmachine --version
若命令未找到,请先安装:
pip install draftmachine
必须存在以下两个文件:
| 文件 | 用途 |
|---|---|
~/.draftmachine/client_secret.json |
从 Google Cloud Console 下载的 OAuth 应用凭据 |
~/.draftmachine/creds.json |
缓存的 OAuth token(由 draftmachine setup 自动创建) |
检查文件是否存在:
ls ~/.draftmachine/
client_secret.json — 引导用户完成 GCP 配置请告知用户:需执行一次性的设置,以将 DraftMachine 连接到其 Gmail 账户:
~/.draftmachine/client_secret.json。mkdir ~/.draftmachine 创建。draftmachine setup —— 此操作将打开浏览器窗口,请求 Gmail 权限(仅限草稿范围),并保存获取的 token。client_secret.json 存在但 creds.json 缺失运行 draftmachine setup 以完成 OAuth 授权流程。
凭据已就绪 —— 可跳至步骤 3。
CSV 至少需包含一个邮箱列(默认列为 email)。其余任意列名均可作为模板变量使用。请询问用户手头有哪些数据;若用户在对话中粘贴了数据,请将其写入一个 .csv 文件。
示例:
email,first_name,company jane@example.com,Jane,Acme Corp bob@example.com,Bob,
模板是一个 .md 文件,包含 YAML frontmatter 区块用于定义主题行(subject),正文部分使用 Jinja2 语法书写 Markdown。请询问用户邮件正文应表达什么内容,然后据此编写模板。
---
subject: "致 {{ first_name }} 的简短备注"
---
您好 {{ first_name }},
{% if company %}
我了解到贵司 {{ company }},认为这封邮件或许对您有帮助。
{% endif %}
[此处填写邮件正文]
此致
[发件人姓名]
优质模板编写提示:
{{ variable }} 插入 CSV 中对应列的值。{% if variable %}...{% endif %} 包裹,避免因字段缺失导致格式异常或空白段落。{{ first_name | title }})和循环等 Jinja2 特性。务必先运行 --preview 参数。它仅在终端中渲染 CSV 的第一行,不调用任何 API,也不创建任何草稿。这是快速验证模板语法与格式是否正确的安全检查方式。
draftmachine send list.csv template.md --preview
若渲染结果符合预期,即可继续;若出现错误(如未定义变量、条件语句异常等),请修正模板后重新预览。
确认预览无误后,执行:
draftmachine send list.csv template.md
若邮箱地址所在列名不是 email,请使用 --to-column 指定:
draftmachine send list.csv template.md --to-column work_email
DraftMachine 采用两阶段策略:首先完整渲染所有行(任一行模板出错即提前中止),再统一通过 Gmail API 批量创建草稿。这意味着每次运行均为“全有或全无”——模板错误时不会产生部分草稿。
命令执行完成后,请向用户说明以下信息:
| 错误 | 修复方法 |
|---|---|
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 错误导致部分草稿生成 | 不支持断点续传;请稍等后重新运行完整命令(可能产生重复草稿,请手动删除多余项) |
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习