投递事务邮件和营销 邮件,只需一个 API。

通过同一个集成发送密码重置邮件、订单收据和营销活动邮件。直接传入您自己的 HTML,渲染 React Email 模板,或在发送时个性化已存储的模板。内置自动退信屏蔽、防止重复发送的安全重试,以及实时投递 webhook。

已经在通过 SMTP 发送邮件?

只需替换凭据,即可将现有的邮件程序或框架指向 Bird 的 SMTP 中继,无需重写应用代码。如果您的产品还需要将客户回复、支持会话或附件路由回应用,可将外发邮件与入站邮件搭配使用。

五分钟内发出你的第一封邮件。

配置 DNS 之前即可测试投递。

使用我们的 SDK、REST 端点、CLI 或 MCP,通过 Bird Email API 在应用中构建外发邮件功能。您可以立即向内置的沙盒地址发送第一封测试邮件,在为域名配置 DNS 记录之前,就能在本地开发环境中验证 webhook 处理和退信行为。

1
2
3
4
5
6
7
8
9
10
// Install the SDK
// npm install @messagebird/sdk

const msg = await bird.email.send({
  from: { email: "onboarding@messagebird.dev", name: "Bird" },
  to: ["delivered@messagebird.dev"],
  subject: "Hello from Bird",
  html: "<p>My first Bird email.</p>",
});
console.log(msg.id, msg.status); // "em_…", "accepted"

为生产环境邮件内置保障机制。

无需从零构建重试锁、退信列表或模板流水线,即可实现可靠的邮件投递。

  1. 01

    分别管理事务邮件和营销邮件规则。

    通过一个集成发送密码重置邮件和促销活动邮件。Bird 会对营销邮件自动执行退订偏好,同时仍向用户投递关键的账户提醒和收据。

  2. 02

    模板、附件和定时发送。

    在代码库中渲染 React Email 组件,直接传入原始 HTML,或在发送时用动态收件人数据填充已存储的模板。可附加 PDF 或内嵌图片,并提前最多 30 天安排投递,无需自行运行 cron 队列。

  3. 03

    原子批量发送,最多 100 封邮件。

    在一次 API 调用中触发最多 100 封个性化邮件,每封都有各自的收件人和模板变量。Bird 会预先验证整个批次,因此格式错误的条目会直接拒绝整个请求,而不会造成部分发送。

  4. 04

    安全的网络重试,不会重复发送邮件。

    生产环境中难免出现网络超时。工作进程发送邮件时附加唯一的请求键,自动重试就会返回原始发送状态,而不会给客户发送两次邮件。

  5. 05

    签名 webhook,实时跟踪投递。

    跟踪每封邮件从服务器接收、送达收件箱,到打开、链接点击、退信和垃圾邮件投诉的全过程。经过签名且防重放的 webhook 在 Bird Email、SMS、WhatsApp 和 Voice 之间使用相同的事件格式。

从您的应用发出第一个请求。

创建账户并生成 API 密钥,然后按照发送指南使用测试收件人完成发送。

开始使用

一个下午即可从现有邮件服务商迁移。

保留现有的 HTML 或 React Email 模板,只需几行代码替换发送调用。分步迁移指南会引导您从 SendGrid、Amazon SES、Mailgun 和 Resend 迁移域名、webhook 和屏蔽列表。

sendgrid.ts
SendGrid
import sgMail from "@sendgrid/mail";

sgMail.setApiKey(process.env.SENDGRID_API_KEY!);

await sgMail.send({
  from:    "hello@yourdomain.com",
  to:      "delivered@messagebird.dev",
  subject: "Your invite is ready",
  html:    "<p>Welcome aboard, Ada.</p>",
});
bird.ts
Bird
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

await bird.email.send({
  from:    "hello@yourdomain.com",
  to:      ["delivered@messagebird.dev"],
  subject: "Your invite is ready",
  html:    "<p>Welcome aboard, Ada.</p>",
});

一次请求发送最多 100 封个性化邮件。

无论是发送每周产品摘要、账单提醒还是团队通知,您都可以在一次 API 调用中批量发送最多 100 封独立邮件,并按收件人进行个性化。Bird 会在接受之前验证整个批次,因此无效邮件会直接拒绝整个请求,而不会造成难以恢复的部分发送。

digest.ts
202 · batch
import { BirdClient } from "@messagebird/sdk";
import { render } from "@react-email/render";
import { Digest } from "./emails/digest";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const messages = await Promise.all(
  users.map(async (u) => ({
    from:    "Acme <hello@yourdomain.com>",
    to:      [u.email],
    subject: "Your weekly digest",
    html:    await render(<Digest user={u} />),
  })),
);

const { data: batch, error } = await bird.email
  .sendBatch(messages)
  .safe();

if (error) throw error;
console.log(`queued ${batch.data.length} messages`);

将投递与您自己的数据库记录和营销活动关联起来。

为邮件添加最多 20 个标签,按功能、新用户引导流程或营销活动细分投递率、打开率和退信率。您还可以附加最多 2 KB 的自定义元数据,例如订单 ID、发票号或用户 ID。这些数据会在 API 读取和 webhook 事件中原样返回,让后端无需维护查找表即可匹配状态更新。

tagged.ts
await bird.email.send({
  from:     "Acme <hello@yourdomain.com>",
  to:       ["delivered@messagebird.dev"],
  subject:  "Your invite is ready",
  html:     "<p>Welcome aboard, Ada.</p>",
  tags:     [{ name: "campaign", value: "spring-2026" }],
  metadata: { user_id: "u_2bX91", order_id: "ord_5512" },
});

实时跟踪投递、退信和互动。

了解客户的邮件服务器何时接收了邮件、邮箱何时暂时已满,或某个地址为何退信。只需验证一种 webhook 签名,并以相同的载荷结构处理 Email、SMS、Voice 和 WhatsApp 的事件。

app/api/webhooks/bird/route.ts
signed
import { bird } from "@/lib/bird";

export async function POST(req: Request) {
  const event = bird.webhooks.unwrap(
    await req.text(),
    Object.fromEntries(req.headers),
  );

  switch (event.type) {
    case "email.delivered":
      await markDelivered(event.data.email_id);
      break;
    case "email.bounced":
      await flag(event.data.recipient, event.data.bounce_type);
      break;
  }

  return new Response(null, { status: 204 });
}

硬退信和垃圾邮件投诉会自动将收件人加入屏蔽列表;退订会记录退出偏好,让后续发送自动遵循收件人的选择。

  • email.acceptedBird 已接受您的发送请求,并将邮件排队等待处理。
  • email.processed邮件已渲染完成,准备移交给收件人的邮件服务器。
  • email.delivered收件人的邮件服务器已接收邮件以进行投递。
  • email.deferred接收服务器暂时延迟接收;Bird 会自动重试投递。
  • email.bounced投递永久失败,并附带退信分类和诊断原因。
  • email.opened收件人打开了邮件并加载了跟踪像素。
  • email.clicked收件人点击了邮件正文中的跟踪链接。
  • email.complained收件人在邮箱中将邮件标记为垃圾邮件。
  • email.unsubscribed收件人通过跟踪的退订链接或邮件头退订。

上线前安全测试退信、延迟投递和投诉。

使用 Bird 内置的沙盒地址模拟成功投递、硬退信、软退信、临时延迟投递、垃圾邮件投诉和被屏蔽的收件人,无需向真实客户发送邮件,也不会损害您的发件人信誉。每次测试发送都会经过真实的事件流水线,并向您的本地或预发布服务器触发签名 webhook。准备好投入生产时,验证您的发送域名,由托管预热安全地逐步提升流量。

浏览开发者指南。

按照电子邮件发送指南从后端发送 HTML、模板和附件,配置投递事件和 Webhook以将消息状态同步到数据库,或使用服务商迁移指南从 SendGrid、Amazon SES、Mailgun 或 Resend 迁移。

围绕外发电子邮件构建工作流。

应用发出第一封电子邮件后,您可以提前最多 30 天安排投递,在排队消息发出前将其取消,添加附件或内嵌图片,并在预发布环境中演练退信处理。

161%

Zillow 客户故事中报告的邮件打开率提升。

阅读 Zillow 的故事

基于 Bird 构建

当合适的房源出现时,邮件必须即时送达。

Zillow 将时效性房源提醒迁移到 Bird,获得了应对发送高峰的能力和洞察互动效果的分析工具。其团队报告首月邮件打开率提升了 161%。

正在计划迁移或提升发送量?

联系销售

关于邮件发送的常见问题

可以同时发送事务性邮件和营销邮件吗?
可以,两者通过同一个发送 API 提交。唯一的区别是 category 字段,它决定了退订和取消订阅的适用规则。密码重置和收据选择 transactional,营销活动选择 marketing。
如果请求超时并重试会怎样?
每次逻辑发送时附带一个 Idempotency-Key 请求头。如果第一次请求已成功但您未收到响应,使用相同的密钥重放请求会返回原始结果并附带 Idempotency-Replay 头,而不会重复发送邮件。
可以定时发送邮件吗?
将 scheduled_at 设置为 30 秒到 30 天后的任意时间。发送请求会立即返回已接受状态,邮件保持计划状态直到发出,因此您可以在发送前随时取消。
可以添加附件吗?
可以,以 base64 编码放入 attachments 数组中。要在正文中内联显示图片,为其设置 content_id 并在 HTML 中通过 cid: 引用。原始文件大小请控制在 15 MB 以下,以确保编码后的邮件不超过 20 MB 上限,请注意可执行文件和脚本内容类型会在发送前被拒绝。

联系我们的邮件团队

构建你的下一个邮件集成。

与我们讨论事务性邮件、批量发送和投递事件。我们将帮助你规划集成方案、发送量和迁移计划。

创建账户,然后创建 API 密钥并发送一条测试消息。

您的信息
产品(可选)
Email

隐私政策

规模扩展
不失控。

在工作区中组织团队,控制 API 访问权限,通过审计日志追踪变更。

从 Email 开始。
使用 Bird 跨渠道构建。

Start building with Bird in minutes.