Files
sim/apps/docs/content/docs/zh/tools/sendgrid.mdx
cherkanov_art d1d43b27bd feat(i18n): change lockfile (#3216)
* fix: update i18n.lock

* feat(docs): enhance documentation with new sections on file handling, form deployment, quick reference, agent skills, and A2A integration
2026-02-16 00:00:12 -08:00

398 lines
13 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: SendGrid
description: 使用 SendGrid 发送电子邮件并管理联系人、列表和模板
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="sendgrid"
color="#1A82E2"
/>
{/* MANUAL-CONTENT-START:intro */}
[SendGrid](https://sendgrid.com) 是一个领先的基于云的电子邮件发送平台,受到开发者和企业的信赖,可大规模发送可靠的事务性和营销电子邮件。通过其强大的 API 和工具SendGrid 使您能够管理电子邮件通信的各个方面,从发送通知和收据到管理复杂的营销活动。
SendGrid 为用户提供了一整套电子邮件操作功能,使您能够自动化关键的电子邮件工作流,并密切管理联系人列表、模板和收件人参与度。它与 Sim 的无缝集成使代理和工作流能够发送目标消息,维护动态联系人和收件人列表,通过模板触发个性化电子邮件,并实时跟踪结果。
SendGrid 的主要功能包括:
- **事务性电子邮件:** 发送自动化和大批量的事务性电子邮件(如通知、收据和密码重置)。
- **动态模板:** 使用丰富的 HTML 或文本模板和动态数据,实现大规模高度个性化的通信。
- **联系人管理:** 添加和更新营销联系人,管理收件人列表,并针对活动目标群体进行细分。
- **附件支持:** 在电子邮件中包含一个或多个文件附件。
- **全面的 API 覆盖:** 以编程方式管理电子邮件、联系人、列表、模板、抑制组等。
通过将 SendGrid 与 Sim 连接,您的代理可以:
- 在任何工作流中发送简单或高级(模板化或多收件人)的电子邮件。
- 自动管理和细分联系人和列表。
- 利用模板实现一致性和动态个性化。
- 在自动化流程中跟踪和响应电子邮件参与情况。
此集成允许您自动化所有关键的通信流程,确保消息到达正确的受众,并直接从 Sim 工作流中维护对您组织电子邮件策略的控制。
{/* MANUAL-CONTENT-END */}
## 使用说明
将 SendGrid 集成到您的工作流中。发送事务性电子邮件,管理营销联系人和列表,并使用电子邮件模板。支持动态模板、附件和全面的联系人管理。
## 工具
### `sendgrid_send_mail`
使用 SendGrid API 发送电子邮件
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `from` | string | 是 | 发件人电子邮件地址 \(必须在 SendGrid 中验证\) |
| `fromName` | string | 否 | 发件人名称 |
| `to` | string | 是 | 收件人电子邮件地址 |
| `toName` | string | 否 | 收件人名称 |
| `subject` | string | 否 | 电子邮件主题 \(除非使用具有预定义主题的模板,否则必需\) |
| `content` | string | 否 | 电子邮件正文内容 \(除非使用具有预定义内容的模板,否则必需\) |
| `contentType` | string | 否 | 内容类型 \(text/plain 或 text/html\) |
| `cc` | string | 否 | 抄送电子邮件地址 |
| `bcc` | string | 否 | 密送电子邮件地址 |
| `replyTo` | string | 否 | 回复电子邮件地址 |
| `replyToName` | string | 否 | 回复名称 |
| `attachments` | file[] | 否 | 附加到电子邮件的文件 |
| `templateId` | string | 否 | 要使用的 SendGrid 模板 ID |
| `dynamicTemplateData` | json | 否 | 动态模板数据的 JSON 对象 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | boolean | 邮件是否成功发送 |
| `messageId` | string | SendGrid 消息 ID |
| `to` | string | 收件人邮箱地址 |
| `subject` | string | 邮件主题 |
### `sendgrid_add_contact`
向 SendGrid 添加新联系人
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `email` | string | 是 | 联系人邮箱地址 |
| `firstName` | string | 否 | 联系人名字 |
| `lastName` | string | 否 | 联系人姓氏 |
| `customFields` | json | 否 | 自定义字段键值对的 JSON 对象 \(使用字段 ID如 e1_T, e2_N, e3_D而不是字段名称\) |
| `listIds` | string | 否 | 用逗号分隔的列表 ID用于添加联系人 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `jobId` | string | 用于跟踪异步联系人创建的作业 ID |
| `email` | string | 联系人邮箱地址 |
| `firstName` | string | 联系人名字 |
| `lastName` | string | 联系人姓氏 |
| `message` | string | 状态消息 |
### `sendgrid_get_contact`
通过 ID 从 SendGrid 获取特定联系人
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `contactId` | string | 是 | 联系人 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | 联系人 ID |
| `email` | string | 联系人邮箱地址 |
| `firstName` | string | 联系人名字 |
| `lastName` | string | 联系人姓氏 |
| `createdAt` | string | 创建时间戳 |
| `updatedAt` | string | 最后更新时间戳 |
| `listIds` | json | 联系人所属列表 ID 的数组 |
| `customFields` | json | 自定义字段值 |
### `sendgrid_search_contacts`
使用查询在 SendGrid 中搜索联系人
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `query` | string | 是 | 搜索查询 \(例如,\"email LIKE '%example.com%' AND CONTAINS\(list_ids, 'list-id'\)\"\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `contacts` | json | 匹配联系人的数组 |
| `contactCount` | number | 找到的联系人总数 |
### `sendgrid_delete_contacts`
从 SendGrid 中删除一个或多个联系人
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `contactIds` | string | 是 | 要删除的联系人 ID逗号分隔 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `jobId` | string | 删除请求的作业 ID |
### `sendgrid_create_list`
在 SendGrid 中创建一个新的联系人列表
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `name` | string | 是 | 列表名称 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | 列表 ID |
| `name` | string | 列表名称 |
| `contactCount` | number | 列表中的联系人数量 |
### `sendgrid_get_list`
通过 ID 从 SendGrid 获取特定列表
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `listId` | string | 是 | 列表 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | 列表 ID |
| `name` | string | 列表名称 |
| `contactCount` | number | 列表中的联系人数量 |
### `sendgrid_list_all_lists`
从 SendGrid 获取所有联系人列表
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `pageSize` | number | 否 | 每页返回的列表数量 \(默认值: 100\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `lists` | json | 列表数组 |
### `sendgrid_delete_list`
从 SendGrid 删除联系人列表
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `listId` | string | 是 | 要删除的列表 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `message` | string | 成功消息 |
### `sendgrid_add_contacts_to_list`
在 SendGrid 中添加或更新联系人并将其分配到列表中(使用 PUT /v3/marketing/contacts
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `listId` | string | 是 | 要添加联系人的列表 ID |
| `contacts` | json | 是 | 联系人对象的 JSON 数组。每个联系人必须至少包含email或 phone_number_id/external_id/anonymous_id。示例\[\{"email": "user@example.com", "first_name": "John"\}\] |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `jobId` | string | 用于跟踪异步操作的作业 ID |
| `message` | string | 状态消息 |
### `sendgrid_remove_contacts_from_list`
从 SendGrid 的特定列表中移除联系人
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `listId` | string | 是 | 列表 ID |
| `contactIds` | string | 是 | 要从列表中移除的逗号分隔的联系人 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `jobId` | string | 请求的作业 ID |
### `sendgrid_create_template`
在 SendGrid 中创建一个新的电子邮件模板
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `name` | string | 是 | 模板名称 |
| `generation` | string | 否 | 模板生成类型legacy 或 dynamic默认值dynamic |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | 模板 ID |
| `name` | string | 模板名称 |
| `generation` | string | 模板生成 |
| `updatedAt` | string | 最后更新时间戳 |
| `versions` | json | 模板版本数组 |
### `sendgrid_get_template`
通过 ID 从 SendGrid 获取特定模板
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `templateId` | string | 是 | 模板 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | 模板 ID |
| `name` | string | 模板名称 |
| `generation` | string | 模板生成 |
| `updatedAt` | string | 最后更新时间戳 |
| `versions` | json | 模板版本数组 |
### `sendgrid_list_templates`
从 SendGrid 获取所有电子邮件模板
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `generations` | string | 否 | 按生成方式筛选 \(legacy、dynamic 或 both\) |
| `pageSize` | number | 否 | 每页返回的模板数量 \(默认值: 20\) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `templates` | json | 模板数组 |
### `sendgrid_delete_template`
从 SendGrid 删除电子邮件模板
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `templateId` | string | 是 | 要删除的模板 ID |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功状态 |
| `message` | string | 状态或成功消息 |
| `messageId` | string | 邮件消息 ID \(send_mail\) |
| `to` | string | 收件人邮箱地址 \(send_mail\) |
| `subject` | string | 邮件主题 \(send_mail, create_template_version\) |
| `id` | string | 资源 ID |
| `jobId` | string | 异步操作的作业 ID |
| `email` | string | 联系人邮箱地址 |
| `firstName` | string | 联系人名字 |
| `lastName` | string | 联系人姓氏 |
| `createdAt` | string | 创建时间戳 |
| `updatedAt` | string | 最后更新时间戳 |
| `listIds` | json | 联系人所属列表 ID 的数组 |
| `customFields` | json | 自定义字段值 |
| `contacts` | json | 联系人数组 |
| `contactCount` | number | 联系人数 |
| `lists` | json | 列表数组 |
| `name` | string | 资源名称 |
| `templates` | json | 模板数组 |
| `generation` | string | 模板生成 |
| `versions` | json | 模板版本数组 |
| `templateId` | string | 模板 ID |
| `active` | boolean | 模板版本是否激活 |
| `htmlContent` | string | HTML 内容 |
| `plainContent` | string | 纯文本内容 |
### `sendgrid_create_template_version`
在 SendGrid 中创建一个新的电子邮件模板版本
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | SendGrid API 密钥 |
| `templateId` | string | 是 | 模板 ID |
| `name` | string | 是 | 版本名称 |
| `subject` | string | 是 | 电子邮件主题行 |
| `htmlContent` | string | 否 | 模板的 HTML 内容 |
| `plainContent` | string | 否 | 模板的纯文本内容 |
| `active` | boolean | 否 | 此版本是否为激活状态默认true |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `id` | string | 版本 ID |
| `templateId` | string | 模板 ID |
| `name` | string | 版本名称 |
| `subject` | string | 电子邮件主题 |
| `active` | boolean | 此版本是否为激活状态 |
| `htmlContent` | string | HTML 内容 |
| `plainContent` | string | 纯文本内容 |
| `updatedAt` | string | 最后更新时间戳 |