gws-gmail-reply 是 Google Workspace CLI(gws)中面向 Gmail 的回复命令技能,用于在命令行中回复已收到的 Gmail 邮件,并自动处理邮件会话线程。
用途
该技能用于对指定 Gmail 邮件进行回复。执行时会自动设置 In-Reply-To、References 和 threadId 头部,使回复归入原始会话线程中,并在回复正文中引用原始邮件内容,无需手动处理会话关系。
主要能力
- 自动处理邮件线程:自动设置 In-Reply-To、References 和 threadId 头部。
- 引用原文:在回复正文中引用原始邮件内容。
- 正文格式:默认按纯文本处理;使用 --html 时按 HTML 内容处理,此时引用块使用 Gmail 的 gmail_quote CSS 类并保留 HTML 格式,内联图片通过 cid: 引用保留,可使用片段标签(如 b、i 等),无需完整 html/body 包裹。
- 收件人控制:--to 追加额外收件人,--cc 和 --bcc 分别设置抄送与密送,均为逗号分隔。
- 发件身份:--from 可指定发件地址,用于 send-as 或别名;省略则使用账户默认地址。
- 附件:-a/--attach 添加文件附件,可多次指定。
- 预览与暂存:--dry-run 仅显示将发送的请求而不执行;--draft 将回复保存为草稿而非立即发送。
- 回复全部:如需回复全部收件人,使用 +reply-all 而非 +reply。
使用方式
前置条件:需阅读 ../gws-shared/SKILL.md 了解身份验证、全局标志和安全规则;若该文件缺失,可运行 gws generate-skills 生成。
命令格式:
gws gmail +reply --message-id <ID> --body <TEXT>
参数说明:
- --message-id(必填):要回复的 Gmail 邮件 ID。
- --body(必填):回复正文,原样使用(纯文本,或配合 --html 作为 HTML)。需注意 \n 不会被视为换行,应使用 $'...' 或真实换行。
- --from(可选):发件地址,用于 send-as/别名;省略则使用账户默认。
- --to(可选):额外 To 收件人,逗号分隔。
- --attach(可选):附加文件,可多次指定。
- --cc(可选):CC 收件人,逗号分隔。
- --bcc(可选):BCC 收件人,逗号分隔。
- --html(可选):将 --body 视为 HTML 内容(默认为纯文本)。
- --dry-run(可选):显示将发送的请求但不实际执行。
- --draft(可选):保存为草稿而非发送。
示例:
gws gmail +reply --message-id 18f1a2b3c4d --body 'Thanks, got it!' gws gmail +reply --message-id 18f1a2b3c4d --body 'Looping in Carol' --cc carol@example.com gws gmail +reply --message-id 18f1a2b3c4d --body 'Adding Dave' --to dave@example.com gws gmail +reply --message-id 18f1a2b3c4d --body '<b>Bold reply</b>' --html gws gmail +reply --message-id 18f1a2b3c4d --body 'Updated version' -a updated.docx gws gmail +reply --message-id 18f1a2b3c4d --body 'Draft reply' --draft
多行正文——使用 $'...' 引号将 \n 转为真实换行:
gws gmail +reply --message-id 18f1a2b3c4d --body $'Hi John,\n\nConfirmed for Tuesday.\n\nBlake'
长正文——从文件读取而非内联引号:
gws gmail +reply --message-id 18f1a2b3c4d --body "$(cat reply.txt)"
适用场景
适用于需要在命令行或自动化脚本中批量、程序化地回复 Gmail 邮件的场景,例如在终端工作流中快速回复、使用别名发件、附带文件进行回复,或先生成草稿供人工确认后再发送。
限制与注意事项
- 使用前必须完成身份验证并了解全局标志与安全规则(见 gws-shared)。
- --body 为原样写入:写成 "Hi,\n\nThanks" 会把字面的反斜杠 n 发送给收件人,而不会产生换行;应使用 $'Hi,\n\nThanks' 或 "$(cat file.txt)"。
- --to 只是向 To 字段追加额外收件人;回复全部请使用 +reply-all。
- 关于具体价格、平台支持范围、认证方式等细节,所给资料中暂未提供。
相关命令
- gws-shared:全局标志与身份验证。
- gws-gmail:所有发送、读取和管理邮件的命令。