mcpField
A
AutoSend

AutoSend

github.com/autosendhq其他0124 次安装38 周前更新
代码仓库

关于 AutoSend

AutoSend 是用于事务性邮件和联系人管理的 REST API,供需要在应用中发送邮件或维护联系人数据的开发者使用。它支持单封与批量发送、模板变量以及联系人创建、查询、更新和删除。

主要功能

  1. 01发送单封事务性邮件
  2. 02向最多 100 位收件人批量发送
  3. 03使用模板及动态变量
  4. 04创建、查询和删除联系人
  5. 05按邮箱创建或更新联系人

适用场景

  1. 01发送订单确认或密码重置邮件
  2. 02向多个收件人发送模板邮件
  3. 03在应用中同步联系人及自定义字段

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/autosendhq/skills --skill autosend

安装后在 Claude Code 中输入/autosend确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
LICENSE.txt
README.md
references/
api-guide.md
sdk-guide.md
scripts/
test-send.js

详细介绍

AutoSend Email API

通过 REST API 发送事务性邮件、管理联系人并使用模板。

使用 JavaScript/TypeScript? 请参阅 SDK 指南,了解使用 autosendjs 软件包的 TypeScript 示例。

参考: API 指南 | 官方 API 参考

先决条件

使用 API 前,请完成以下步骤:

  • 创建账户 — 在 autosend.com 注册
  • 添加域名 — Settings → Domains → Add Domain → 选择 AWS 区域(文档)
  • 配置 DNS — 将生成的记录(DKIM、SPF、DMARC)复制到 DNS 提供商
  • 验证域名 — 点击“Verify Ownership”,并等待状态变为绿色(5-30 min)
  • 获取 API 密钥 — Settings → API Keys → Generate API Key(文档)
  • 设置环境变量 — export AUTOSEND_API_KEY=as_your_key_here

身份验证

所有请求都需要在 Authorization 标头中提供 Bearer 令牌:

Authorization: Bearer YOUR_API_KEY

基础 URL: https://api.autosend.com/v1

所有 POST/PUT 请求都必须包含 Content-Type: application/json。


邮件操作

发送邮件

POST /v1/mails/send

发送一封事务性邮件。

参数类型必填说明
fromobject是发件人 — { "email": "...", "name": "..." }
toobject是收件人 — { "email": "...", "name": "..." }
subjectstring是邮件主题
htmlstring否HTML 正文
textstring否纯文本正文
templateIdstring否模板 ID(替代 html/text)
dynamicDataobject否模板变量替换值
ccarray否抄送收件人 — [{ "email": "...", "name": "..." }]
bccarray否密送收件人 — [{ "email": "...", "name": "..." }]
replyToobject否回复地址 — { "email": "...", "name": "..." }
attachmentsarray否文件附件 — [{ "filename": "...", "content": "..." }]

响应:

{
  "success": true,
  "data": { "emailId": "email_abc123" }
}

批量发送

POST /v1/mails/bulk

向多个收件人发送邮件,共用发件人、主题和可选模板。

参数类型必填说明
fromobject是共享发件人 — { "email": "...", "name": "..." }
subjectstring否共享主题(除非模板提供主题,否则为必填)
htmlstring否共享 HTML 正文
textstring否共享纯文本正文
templateIdstring否模板邮件的模板 ID
dynamicDataobject否共享的默认模板变量
recipientsarray是收件人对象数组(最多 100 个)

收件人对象:

参数类型必填说明
emailstring是收件人邮箱地址
namestring否收件人显示名称
dynamicDataobject否每位收件人的变量(覆盖共享变量)
ccarray否每位收件人的抄送对象
bccarray否每位收件人的密送对象

限制: 每个批量请求最多包含 100 位收件人。

响应:

{
  "success": true,
  "data": {
    "batchId": "batch_abc123",
    "totalRecipients": 2,
    "successCount": 2,
    "failedCount": 0
  }
}

模板

POST /v1/mails/send,并传入 templateId

传入 templateId 和 dynamicData,即可发送模板邮件,替代或搭配 html/text 使用。

参数类型必填描述
templateIdstring是模板标识符
dynamicDataobject否模板变量的键值对

常见模板 ID:

模板ID常用变量
订单确认tmpl_order_confirmationorderNumber、customerName、orderTotal、estimatedDelivery
欢迎邮件tmpl_welcomefirstName、activationLink、supportEmail
密码重置tmpl_password_resetresetLink、expiresIn

模板也支持批量发送——在批量请求正文中传入 templateId 和 dynamicData。


联系人管理

创建联系人

POST /v1/contacts

参数类型必填描述
emailstring是联系人的电子邮件地址
firstNamestring否联系人的名字
lastNamestring否联系人的姓氏
userIdstring否外部用户 ID
listIdsarray否要添加联系人的列表 — ["list_abc", "list_xyz"]
customFieldsobject否自定义字段值

响应:

{
  "success": true,
  "data": {
    "id": "contact_abc123",
    "email": "[email protected]",
    "firstName": "Jane",
    "lastName": "Smith",
    "listIds": ["list_abc"],
    "customFields": {},
    "createdAt": "2025-01-15T00:00:00Z",
    "updatedAt": "2025-01-15T00:00:00Z"
  }
}

获取联系人

GET /v1/contacts/:id

参数类型必填描述
idstring是联系人 ID(路径参数)

响应: 返回联系人对象(结构与创建联系人响应相同)。


新建或更新联系人

POST /v1/contacts/email

通过电子邮件地址创建或更新联系人。如果已存在具有给定电子邮件地址的联系人,则更新该联系人;否则创建新联系人。

参数类型必填描述
emailstring是联系人的电子邮件地址
firstNamestring否联系人的名字
lastNamestring否联系人的姓氏
userIdstring否外部用户 ID
listIdsarray否要添加联系人的列表
customFieldsobject否自定义字段值

响应: 返回联系人对象(结构与创建联系人响应相同)。


删除联系人

DELETE /v1/contacts/:id

参数类型必填描述
idstring是联系人 ID(路径参数)

响应:

{
  "success": true
}

错误处理

所有错误均以包含 error 对象的 JSON 格式返回:

{
  "success": false,
  "error": {
    "message": "The 'to' field is required",
    "code": "VALIDATION_FAILED",
    "details": []
  }
}
状态代码描述
400VALIDATION_FAILED请求错误 — 缺少参数或参数无效
401UNAUTHORIZEDAPI 密钥无效或缺失
402PAYMENT_REQUIRED需要升级套餐
403FORBIDDEN权限不足
404NOT_FOUND未找到资源
429RATE_LIMIT_EXCEEDED请求过多 — 请等待一段时间后重试
500SERVER_ERROR服务器内部错误

评论

支持 Markdown