mcpField
S
sending-emails

sending-emails

github.com/mailtrap开发1158 次安装今天更新
代码仓库

关于 sending-emails

sending-emails 是指导通过 Mailtrap 发送邮件的技能,面向开发者和 AI 编码场景。它说明如何在事务性邮件、批量营销邮件、批次发送和 Campaigns 之间选择,并按优先顺序挑选集成方式。

主要功能

  1. 01区分事务性邮件与营销邮件流
  2. 02说明单封、批次和 Campaigns 的适用场景
  3. 03按平台集成、SDK、HTTP API、SMTP 选择方式
  4. 04提供 API、SMTP 与模板发送参考
  5. 05涵盖令牌、抑制列表和限流注意事项

适用场景

  1. 01发送密码重置、收据或应用通知
  2. 02向自有联系人发送促销邮件
  3. 03一次提交多封不同邮件
  4. 04使用 Mailtrap 联系人和 Campaigns 发送营销邮件

安装

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

$npx skills add https://github.com/mailtrap/mailtrap-skills --skill sending-emails

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

详细介绍

发送电子邮件(Mailtrap)

概览

Mailtrap 通过 Email API(REST)或 SMTP 发送实时电子邮件。API/SMTP 支持两种 流:Transactional(非促销类,由应用生成)和 Bulk(促销类/营销邮件量)。Batch 不是第三种流:它表示如何在与内容相匹配的流上一次请求提交多封邮件。Campaigns 是面向 Mailtrap 联系人发送促销邮件的独立产品路径。集成开发或排错(包括 AI 辅助编码)时,请结合阅读Transactional/Bulk 开发者页面。

集成方式(优先顺序)

优先顺序:

  1. 适用于用户平台的插件或集成(无需代码或只需少量配置)(如有)
  2. 适用于你所用语言的官方 SDK(如有;维护良好的客户端、类型化辅助工具,可减少 URL/身份验证错误)。
  3. HTTP Email API(没有适用的 SDK,或 SDK 不合适时;直接向 /api/send 或 /api/batch 发送带 JSON 的 POST 请求)。
  4. 仅在确实需要时使用 SMTP(旧版技术栈、仅支持 SMTP 的主机/平台,或排除 HTTP 的硬性限制)。

选择发送方式

方式适用场景
Transactional,单封邮件由应用生成的电子邮件(密码重置、收据、通知、提醒)。每个 POST https://send.api.mailtrap.io/api/send 请求发送一封逻辑邮件
Bulk向由你自行管理的联系人发送促销邮件,并通过 Mailtrap 批量发送。它与“batch”不同:bulk 指的是流,而不是 batch 端点。
Batch你需要同时提交多封不同的邮件(每个请求最多 500 封)。可减少 HTTP 开销;transactional 和 bulk 均可使用
Campaigns向存储为 Mailtrap 联系人的收件人发送促销邮件,使用 Mailtrap Campaigns(产品中的受众群体、定时发送和报告)。建议使用此方式,以免自行实现联系人管理和邮件发送逻辑;发送流程开始前需要在 UI 中完成设置——此技能不能替代该工作流。

**生成 SDK 代码前:**请阅读下方 SDKs 部分中相关 SDK 仓库的 README,确认当前的方法签名、构造函数选项和示例。不要依赖记忆。

相关技能:authorizing-api-requests(令牌、环境变量、身份验证标头)、using-email-templates(模板 UUID 和变量)、testing-with-sandbox(安全测试)、setting-up-sending-domain(发送前验证)。

不适用场景

  • 仅用于沙盒——捕获邮件但不实际发送,或在沙盒中读取邮件(testing-with-sandbox)。
  • 主要需求是Webhook、Campaigns 界面的分步设置或深入了解送达能力。
  • 完整的 API 参考——确定用户的操作路径后,链接到官方发送文档,查看完整的架构、可选字段和边缘情况。

快速参考

Email API
流类型发送端点批量发送端点授权标头
事务型邮件POST https://send.api.mailtrap.io/api/sendPOST https://send.api.mailtrap.io/api/batchAuthorization: Bearer $MAILTRAP_API_TOKEN
批量(促销 / 营销邮件量)POST https://bulk.api.mailtrap.io/api/sendPOST https://bulk.api.mailtrap.io/api/batchAuthorization: Bearer $MAILTRAP_API_TOKEN
SMTP
设置事务型邮件批量邮件
主机live.smtp.mailtrap.iobulk.smtp.mailtrap.io
端口587(也支持 25、2525、465,使用 SSL)587(也支持 25、2525、465,使用 SSL)
用户名apiapi
密码API 令牌($MAILTRAP_API_TOKEN)API 令牌($MAILTRAP_API_TOKEN)
令牌

在 Authorization: Bearer ... 或 Api-Token: ... 中使用 $MAILTRAP_API_TOKEN。只要令牌的作用域包含对应流,同一个令牌就可用于 send.api.mailtrap.io 和 bulk.api.mailtrap.io。完整指南(作用域、存储、轮换)请参阅技能 authorizing-api-requests。

速率限制
作用域限制时间窗口
发送 API(每个令牌)150 个请求10 秒

遇到 429 时,请使用退避策略。

JSON 请求体(非模板)

常见字段包括 from、to、subject 和 text 和/或 html。可选字段:category、custom_variables。准确的请求体请参阅:事务型邮件发送和批量邮件发送。

示例(curl)

发送事务型邮件(send.api.mailtrap.io):

curl -X POST https://send.api.mailtrap.io/api/send \
  -H "Authorization: Bearer $MAILTRAP_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "from": {"email": "[email protected]", "name": "Your App"},
    "to": [{"email": "[email protected]"}],
    "subject": "Hello",
    "text": "Plain text body"
  }'

批量流在批量主机上使用相同的路径和 JSON 结构(使用相同的环境变量;令牌只需包含批量流作用域):

curl -X POST https://bulk.api.mailtrap.io/api/send \
  -H "Authorization: Bearer $MAILTRAP_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "from": {"email": "[email protected]", "name": "Your App"},
    "to": [{"email": "[email protected]"}],
    "subject": "Promotional",
    "html": "<p>HTML body</p>"
  }'

批量发送(消息数组;每个请求最多 500 条——完整架构请参阅 API 文档):

curl -X POST https://send.api.mailtrap.io/api/batch \
  -H "Authorization: Bearer $MAILTRAP_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"from":{"email":"[email protected]"},"to":[{"email":"[email protected]"}],"subject":"One","text":"..."}]}'
JSON 请求体(模板)

使用 Mailtrap 托管的模板时,请使用 template_uuid 和 template_variables,而不要使用原始的 text/html。最简示例:

curl -X POST https://send.api.mailtrap.io/api/send \
  -H "Authorization: Bearer $MAILTRAP_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "from": {"email": "[email protected]", "name": "Your App"},
    "to": [{"email": "[email protected]"}],
    "template_uuid": "your-template-uuid",
    "template_variables": {"user_name": "Jane"}
  }'

请参阅技能 using-email-templates,以及与非模板发送相同的 API 操作。

SDK

抑制名单

Mailtrap 会自动管理硬退信、举报为垃圾邮件或取消订阅的地址对应的抑制名单,并且不会再次向这些被抑制的收件人发送邮件。详情请参阅抑制名单文档。

常见错误

错误修正
混淆 batch 和 bulkBatch = 在一个 /api/batch 请求中发送多条消息。Bulk = 推广邮件流/主机和令牌
在事务邮件主机上使用推广邮件 API对于代码生成的推广内容,请使用 bulk 基础 URL 和 bulk 令牌
在 send.api.mailtrap.io 上发送 bulk 流量推广/bulk 邮件流使用 bulk.api.mailtrap.io
使用沙盒 SMTP 主机发送正式邮件正式发送使用 live.smtp.mailtrap.io 或 bulk.smtp.mailtrap.io
SMTP 用户名是电子邮件地址用户名是 api;密码是 API 令牌
域名验证前就开始发送完成 Sending Domains 设置和合规流程(参见 setting-up-sending-domain)
凭记忆猜测 SDK API阅读 SDK README 和 OpenAPI 链接的示例;不要臆造构造函数或方法名称
全新应用优先选择 SMTP如果有 平台集成,优先使用它,然后是 SDK,再然后是 HTTP API;仅在必要时使用 SMTP(参见 如何集成)

评论

支持 Markdown