Gws Gmail Watch

📧 Gmail 实时邮件流监控与自动化

通过 GCP Pub/Sub 实时监控 Gmail 新邮件并以 NDJSON 流式输出,支持标签过滤与自动清理,适合自动化邮件处理场景。

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

使用说明

核心用法

gws-gmail-watch 是 gws CLI 工具集中专门用于 Gmail 实时监控的子命令,基于 Google Cloud Pub/Sub 推送机制实现邮件事件的准实时捕获。用户需指定 GCP 项目 ID 初始化 Pub/Sub 资源,或通过 --subscription/--topic 复用现有基础设施。命令启动后持续拉取新邮件,以 NDJSON 格式流式输出至 stdout,或按 --output-dir 将每封邮件写入独立 JSON 文件。

关键参数包括 --label-ids(按 Gmail 标签过滤,如 INBOX/UNREAD)、--max-messages(单次拉取数量)、--poll-interval(轮询间隔秒数)及 --msg-format(控制返回字段完整度)。--once 支持单次拉取后退出,--cleanup 可在退出时自动删除创建的 Pub/Sub 资源以避免残留。

显著优点

1. 原生流式架构:NDJSON 输出兼容 Unix 管道哲学,可直接对接 jq、日志收集器或事件处理流水线
2. 灵活部署模式:支持全托管自动初始化(--project)与企业级现有基础设施复用(--subscription/--topic)

3. 精细化过滤:通过 Gmail Label ID 实现服务端过滤,减少无效数据传输

4. 运维友好:--cleanup 防止资源泄漏,Ctrl-C 优雅退出,7 天过期自动提醒机制降低维护负担

潜在缺点与局限性

  • 基础设施依赖:强制绑定 GCP Pub/Sub,无法直接对接 AWS SNS/Azure Event Grid 等其他云事件总线
  • 授权复杂度:需预先完成 gws-shared 中定义的 OAuth2 或 ADC 认证,涉及 Gmail API 与 Cloud Pub/Sub 双重权限配置
  • 7 天订阅过期:Google Watch API 强制 7 天过期策略,长期运行需外部 cronjob 或 systemd timer 定期续期
  • 非真正实时:基于轮询拉取(最小 5 秒间隔),非 WebSocket 推送到端点的真实时模式
  • 成本隐性风险:Pub/Sub 消息积压或高频轮询可能产生意外 GCP 费用

适合人群

  • 需将 Gmail 集成至数据管道的 SRE/DevOps 工程师
  • 构建邮件自动化工作流(如工单系统、CRM 同步)的后端开发者
  • 使用 Google Workspace 且具备 GCP 管理权限的技术团队

常规风险

1. OAuth 令牌泄露:gws-shared 中配置的凭据文件若权限设置不当(如 644 或存储于共享目录),可能导致邮件内容未授权访问
2. Pub/Sub 权限配置错误:Gmail API 服务账号需具备 pubsub.topics.publish 权限,配置遗漏将导致推送失败静默丢件

3. 数据滞留风险:未启用 --cleanup 时,Pub/Sub subscription 持续累积消息,结合 GCP 默认 7 天消息保留期可能形成数据残留

4. 敏感信息管道暴露:NDJSON 流默认输出至 stdout,若未重定向至加密存储或安全日志系统,邮件元数据甚至正文可能在进程表或 shell 历史中留下痕迹

Gws Gmail Watch 内容

手动下载zip · 1.2 kB
SKILL.mdtext/markdown
请选择文件