用途:该技能用于直接调用 SendGrid 的 POST /v3/mail/send 接口发送事务邮件,需使用 SendGrid API Key(与 Twilio Account SID/Auth Token 不同,不适用于 comms.twilio.com 的 Twilio Email API)。
主要能力:支持单发与多收件人(--to/--cc/--bcc,可重复或逗号分隔)、纯文本或 HTML 内容、动态模板(--template-id 与 --dynamic-template-data-json)、附件(--attachment,base64 编码)、回复地址、分类、自定义参数、batch-id、定时发送(--send-at 为 Unix 秒)、沙箱校验(--sandbox,只校验不投递)、私有收件人(--private-recipients,避免同组收件人互相可见)以及 global/eu 区域选择。每次请求自动写入 custom_args.business_id,可用 --business-id 指定,便于与应用日志或事件 Webhook 关联。
使用方式:优先使用随附脚本而非临时 curl。API Key 解析顺序为 --api-key、环境变量 SENDGRID_API_KEY、本地保存的 ~/.config/sendgrid-send-email/api_key。可用 bash <skill-path>/scripts/send_email.sh --api-key "SG..." --save-api-key 保存,或用 --clear-api-key 清除。默认只打印 dry-run JSON 载荷,必须显式加 --send 才会真正调用接口。发送前应确认收件人、主题与内容,建议先 dry run 检查载荷。
限制与注意:发送一旦入队不可撤销;HTTP 202 仅表示已排队,不代表已投递,投递状态需通过 SendGrid Email Logs、事件 Webhook 或 sendgrid-email-log 技能异步查询。发件地址需为账户中已验证的发件人。不要编造发件人、收件人、模板 ID、分类、自定义参数、batch ID 或定时时间戳。不要用 --custom-arg 传 business_id,应使用 --business-id。API Key 不应回显或存储于可见输出,若在对话中泄露应建议轮换。缺少 API Key 时,非交互运行需引导用户查阅 https://frevana.gitbook.io/frevana-docs/email-integrations/sendgrid-integration。附件需控制总请求大小在 SendGrid 文档限制内。