Kirim email transaksional dan pemasaran dari satu API.

Kirim reset kata sandi, tanda terima pesanan, dan kampanye pemasaran dari integrasi yang sama. Gunakan HTML Anda sendiri, render template React Email, atau personalisasi template tersimpan saat pengiriman. Supresi bounce otomatis, percobaan ulang aman yang mencegah pengiriman ganda, dan webhook pengiriman real-time sudah tersedia.

Sudah mengirim melalui SMTP?

Arahkan mailer atau framework Anda yang sudah ada ke relay SMTP milik Bird cukup dengan mengganti kredensial, tanpa menulis ulang kode aplikasi. Jika produk Anda juga perlu meneruskan balasan pelanggan, utas dukungan, atau lampiran kembali ke aplikasi, padukan pengiriman keluar dengan email masuk.

Kirim email pertama Anda dalam lima menit.

Uji pengiriman sebelum Anda mengonfigurasi DNS.

Bangun email keluar ke dalam aplikasi Anda dengan API Email Bird menggunakan SDK kami, endpoint REST, CLI, atau MCP. Anda dapat langsung mengirim pesan uji pertama ke alamat sandbox bawaan, sehingga Anda bisa memverifikasi penanganan webhook dan perilaku bounce di pengembangan lokal sebelum mengonfigurasi data DNS untuk domain Anda.

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"

Perlindungan bawaan untuk email produksi.

Hadirkan pengiriman email yang andal tanpa membangun sendiri kunci percobaan ulang, daftar bounce, atau pipeline template dari nol.

  1. 01

    Aturan terpisah untuk email transaksional dan pemasaran.

    Kirim reset kata sandi dan kampanye promosi melalui satu integrasi. Bird otomatis menerapkan preferensi berhenti berlangganan pada email pemasaran, tetapi tetap mengirimkan peringatan akun penting dan tanda terima kepada pengguna Anda.

  2. 02

    Template, lampiran, dan pengiriman terjadwal.

    Render komponen React Email di codebase Anda, kirim HTML mentah secara langsung, atau isi template tersimpan dengan data penerima dinamis saat pengiriman. Lampirkan PDF atau gambar inline dan jadwalkan pengiriman hingga 30 hari ke depan tanpa menjalankan antrean cron sendiri.

  3. 03

    Pengiriman batch atomik hingga 100 pesan.

    Kirim hingga 100 email yang dipersonalisasi dalam satu panggilan API, masing-masing dengan penerima dan variabel template sendiri. Bird memvalidasi seluruh batch di awal, sehingga satu entri yang salah format akan menolak permintaan dengan bersih, bukan menyisakan pengiriman sebagian.

  4. 04

    Percobaan ulang jaringan yang aman tanpa email ganda.

    Timeout jaringan terjadi di produksi. Lampirkan kunci permintaan unik saat worker Anda mengirim email, sehingga coba lagi otomatis mengembalikan status pengiriman awal, bukan mengirim email dua kali kepada pelanggan Anda.

  5. 05

    Webhook bertanda tangan untuk pelacakan pengiriman real-time.

    Pantau setiap pesan, mulai dari diterima server dan dikirim ke kotak masuk hingga dibuka, klik tautan, bounce, dan laporan spam. Webhook bertanda tangan dengan perlindungan replay menggunakan format event yang sama di Bird Email, SMS, WhatsApp, dan Voice.

Buat permintaan pertama dari aplikasi Anda.

Buat akun dan kunci API, lalu ikuti panduan pengiriman dengan penerima uji coba.

Mulai

Bermigrasi dari penyedia email Anda saat ini dalam satu sore.

Pertahankan template HTML atau React Email Anda dan ganti panggilan pengiriman dengan beberapa baris kode. Panduan migrasi langkah demi langkah membantu Anda memindahkan domain, webhook, dan daftar supresi dari SendGrid, Amazon SES, Mailgun, dan Resend.

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>",
});

Kirim hingga 100 email yang dipersonalisasi dalam satu permintaan.

Baik untuk ringkasan produk mingguan, pengingat tagihan, maupun notifikasi tim, Anda dapat mengirim hingga 100 email terpisah dalam satu panggilan API dengan personalisasi per penerima. Bird memvalidasi seluruh batch sebelum menerimanya, sehingga satu pesan yang tidak valid akan menolak permintaan dengan bersih, bukan menyisakan pengiriman sebagian yang sulit dipulihkan.

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`);

Hubungkan pengiriman dengan catatan database dan kampanye Anda sendiri.

Beri label email dengan hingga 20 tag untuk merinci tingkat pengiriman, pembukaan, dan bounce berdasarkan fitur, alur onboarding, atau kampanye. Anda juga dapat melampirkan metadata kustom hingga 2 KB, seperti ID pesanan, nomor faktur, atau ID pengguna. Metadata ini dikembalikan tanpa perubahan pada pembacaan API dan event webhook, sehingga backend Anda dapat mencocokkan pembaruan status tanpa memelihara tabel pencarian.

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" },
});

Lacak pengiriman, bounce, dan interaksi secara real-time.

Ketahui kapan server email pelanggan menerima email, kapan kotak surat penuh sementara, atau mengapa sebuah alamat mengalami bounce. Verifikasi satu tanda tangan webhook dan tangani event dengan struktur payload yang sama di Email, SMS, Voice, dan 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 });
}

Hard bounce dan laporan spam otomatis menambahkan penerima ke daftar supresi Anda, dan setiap berhenti berlangganan dicatat sebagai preferensi opt-out, sehingga pengiriman berikutnya otomatis menghormati pilihan penerima.

  • email.acceptedBird menerima permintaan pengiriman Anda dan memasukkan pesan ke antrean untuk diproses.
  • email.processedPesan telah dirender dan siap diserahkan ke server email penerima.
  • email.deliveredServer email penerima menerima pesan untuk dikirimkan.
  • email.deferredServer penerima menunda penerimaan sementara; Bird otomatis mencoba lagi pengiriman.
  • email.bouncedPengiriman gagal secara permanen, disertai klasifikasi bounce dan alasan diagnostik.
  • email.openedPenerima membuka email dan memuat piksel pelacakan.
  • email.clickedPenerima mengklik tautan terlacak di isi email.
  • email.complainedPenerima menandai email sebagai spam di kotak suratnya.
  • email.unsubscribedPenerima berhenti berlangganan melalui tautan atau header berhenti berlangganan yang terlacak.

Uji bounce, penundaan, dan laporan spam dengan aman sebelum peluncuran.

Gunakan alamat sandbox bawaan Bird untuk menyimulasikan pengiriman berhasil, hard bounce, soft bounce, penundaan sementara, laporan spam, dan penerima yang disupresi tanpa mengirim email ke pelanggan sungguhan atau mempertaruhkan reputasi pengirim Anda. Setiap pengiriman uji berjalan melalui pipeline event sungguhan dan memicu webhook bertanda tangan ke server lokal atau staging Anda. Saat siap untuk produksi, verifikasi domain pengirim Anda dan biarkan warmup terkelola meningkatkan lalu lintas secara aman.

Jelajahi panduan developer.

Ikuti panduan pengiriman email untuk mengirim HTML, template, dan lampiran dari backend Anda, konfigurasikan event pengiriman dan webhook untuk menyinkronkan status pesan dengan database Anda, atau gunakan panduan migrasi penyedia untuk beralih dari SendGrid, Amazon SES, Mailgun, atau Resend.

Bangun alur kerja di sekitar email keluar.

Setelah aplikasi Anda dapat mengirim email pertamanya, Anda dapat menjadwalkan pengiriman hingga 30 hari ke depan, membatalkan pesan dalam antrean sebelum terkirim, melampirkan file atau gambar inline, dan menguji penanganan bounce di staging.

161%

Peningkatan rasio buka email yang dilaporkan dalam kisah pelanggan Zillow.

Baca kisah Zillow

Dibangun dengan Bird

Saat rumah yang tepat muncul, email harus langsung sampai.

Zillow memindahkan notifikasi properti yang sensitif waktu ke Bird, dengan kapasitas menangani lonjakan pengiriman dan analitik untuk memahami keterlibatan. Timnya melaporkan peningkatan rasio buka sebesar 161% pada bulan pertama.

Merencanakan migrasi atau pengiriman volume lebih tinggi?

Hubungi tim penjualan

Pertanyaan tentang pengiriman email

Bisakah saya mengirim email transaksional dan marketing sekaligus?
Ya, keduanya melalui API pengiriman yang sama. Satu-satunya perbedaan adalah field category, yang menentukan bagaimana suppression dan unsubscribe diterapkan. Pilih transactional untuk reset kata sandi dan tanda terima, dan marketing untuk kampanye.
Apa yang terjadi jika permintaan timeout dan saya mengulanginya?
Kirim header Idempotency-Key dengan setiap pengiriman logis. Jika permintaan pertama berhasil tetapi Anda tidak melihat responsnya, mengulanginya dengan key yang sama akan mengembalikan hasil asli dengan header Idempotency-Replay, alih-alih mengirim email dua kali.
Bisakah saya menjadwalkan pengiriman untuk nanti?
Atur scheduled_at ke waktu mana pun antara 30 detik dan 30 hari ke depan. Pengiriman langsung dikembalikan sebagai accepted dan tetap terjadwal sampai terkirim, jadi Anda bisa membatalkannya kapan saja sebelum itu.
Bisakah saya melampirkan file?
Ya, sebagai base64 dalam array attachments. Untuk menampilkan gambar secara inline, berikan content_id dan referensikan dari HTML Anda dengan cid:. Jaga ukuran file mentah pada atau di bawah 15 MB agar pesan tetap muat dalam batas 20 MB setelah dienkode, dan perlu diketahui bahwa content type yang bersifat executable dan script akan ditolak sebelum pengiriman.

Hubungi tim email kami

Bangun integrasi email Anda berikutnya.

Diskusikan pesan transaksional, pengiriman massal, dan event pengiriman. Kami akan membantu Anda merencanakan integrasi, volume pengiriman, dan migrasi.

Buat akun Anda, lalu buat kunci API dan kirim pesan uji coba.

Data Anda
Produk (opsional)
Email

Skalakan tanpa
kehilangan kendali.

Atur tim dalam workspace, kontrol akses API, dan lacak perubahan melalui log audit.

Mulai dengan Email.
Bangun lintas kanal dengan Bird.

Start building with Bird in minutes.