Sign inGet Started

IP dedikasi dan pool

Pada infrastruktur bersama, email Anda dikirim dari alamat IP yang digunakan bersama pelanggan lain. Kami menjaga IP tersebut tetap sehat, tetapi reputasi Anda tetap tergabung dengan reputasi pengguna lain. IP dedikasi adalah alamat yang hanya digunakan organisasi Anda untuk mengirim, sehingga penyedia kotak masuk menilai lalu lintas Anda berdasarkan rekam jejak Anda sendiri. IP pool mengelompokkan IP dedikasi menjadi unit yang dapat dirutekan, dan field ip_pool_id pada pengiriman memilih pool untuk pesan tersebut.

Anda tidak pernah memerlukan IP dedikasi untuk mengirim. Setiap organisasi dimulai dengan Shared Bird.com Pool sebagai default, sehingga email mengalir sejak hari pertama tanpa perlu konfigurasi apa pun. IP dedikasi adalah add-on berbayar yang hanya menguntungkan dengan volume konsisten. IP dedikasi yang jarang digunakan membangun reputasi lebih lambat dibanding shared pool yang sudah ada, sehingga pengirim bervolume rendah biasanya lebih baik tetap menggunakan shared. Apakah IP dedikasi meningkatkan deliverability email? menjelaskan bagaimana volume pengiriman dan reputasi memengaruhi pilihan tersebut.

Dua hal yang perlu diketahui sebelum membeli:

  • IP baru melewati proses warmup otomatis sebelum dapat menangani volume penuh; kelebihan lalu lintas dialihkan melalui shared pool sementara waktu.
  • IP dan pool dimiliki oleh organisasi Anda.

Tempat mengelolanya

Kelola pool dan IP di Email > IP pools pada dashboard, atau dengan bird email ip-pools dan bird email dedicated-ips perintah CLI. Operasi ini memerlukan izin tingkat organisasi. SDK tidak menyertakan metode manajemen bertipe. Untuk merutekan pesan melalui pool, atur ip_pool_id seperti dijelaskan di Memilih pool saat mengirim.

Jika organisasi Anda mengelola akses pool per workspace, halaman Email > IP pools organisasi menampilkan inventaris organisasi dan penetapan workspace. Halaman workspace menampilkan pool yang boleh digunakan workspace tersebut. Mengubah penetapan tersebut memerlukan izin organisasi; akses ke satu workspace tidak memberikan akses ke pool milik workspace lain.

Tampilan IP Pools di dashboard, menampilkan pool kustom dengan IP yang sedang warming di samping Shared Bird.com Pool yang dilindungi dan ditandai sebagai default

Membeli IP dedikasi

Beli IP dari tab Dedicated IPs atau dengan CLI:

Contoh kode
bird email dedicated-ips create --quantity 1 --ip-pool-id ipp_1btmn1nnkd8y6a4jckbkvvt9eh
  • Pada pembelian pertama Anda dapat menghilangkan --ip-pool-id: kami membuat pool pertama Anda, bernama "Dedicated IPs", dan menyediakan IP ke dalamnya. Setelah organisasi Anda memiliki setidaknya satu pool, flag tersebut wajib; Anda memilih di mana setiap IP baru ditempatkan.
  • Setiap IP ditagih sebagai langganan bulanan. Ketika saldo wallet Anda tidak mencukupi pembelian, respons melaporkan requires_topup (isi ulang untuk melanjutkan) atau pending_topup (pembayaran kartu sedang diproses); IP disediakan secara otomatis begitu dana masuk.
  • Pembelian dibatasi oleh kuota email_ip_dedicated_max paket Anda, dan pool oleh email_ip_pools_max.

Setiap IP yang disediakan dimulai dengan status warming dan meningkat secara otomatis; IP warmup membahas jadwal dan cara memantaunya. hostname IP adalah nama reverse-DNS (PTR)-nya, nama yang digunakan IP saat memperkenalkan diri ke mail server penerima; tambahkan ke allowlist mana pun yang memfilter berdasarkan hostname pengirim.

Membeli IP tidak mengubah default pool Anda. Shared pool tetap menjadi default hingga Anda secara eksplisit menggantinya, karena merutekan semua lalu lintas yang tidak ditentukan ke IP yang baru dan masih warming akan merugikan deliverability Anda.

Sebuah IP melaporkan salah satu dari empat status:

StatusArti
warmingIP ini baru dan sedang warming. IP ini mengambil porsi lalu lintas Anda yang semakin besar; sisanya dialihkan ke shared pool.
activeWarmup selesai. IP menangani volume penuh.
suspendedIP ditangguhkan sementara.
pending_cancellationAnda membatalkan IP ini. IP tetap mengirim hingga akhir periode penagihan yang sudah Anda bayar, tetapi tidak lagi dihitung saat aturan default pool menghitung isi pool.

IP pool

Pool memisahkan aliran pengiriman: pengaturan umum adalah satu pool untuk email transaksional dan satu lagi untuk marketing, sehingga reputasi kampanye tidak pernah menyentuh reset kata sandi Anda. Pool gratis untuk dibuat, hingga kuota email_ip_pools_max paket Anda.

Contoh kode
bird email ip-pools create Transactional
Contoh kode
{
  "created_at": "2026-07-23T14:48:28Z",
  "id": "ipp_01ky7q6288fqnsghxyem91ryjv",
  "ips": [],
  "is_default": false,
  "name": "Transactional",
  "organization_id": "org_01ky7m21hjffg9pxj5xz6nx6ew",
  "protected": false,
  "updated_at": "2026-07-23T14:48:28Z"
}

Pool selalu dibuat sebagai non-default dan kosong. Anda mengisinya dengan membeli langsung ke dalamnya (--ip-pool-id pada pembelian) atau dengan memindahkan IP yang sudah ada. Membaca pool mengembalikan IP anggotanya secara lengkap:

Contoh kode
bird email ip-pools get ipp_1btmn1nnkd8y6a4jckbkvvt9eh
Contoh kode
{
  "created_at": "2026-06-29T13:56:39Z",
  "id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
  "ips": [
    {
      "address": "198.51.100.21",
      "created_at": "2026-06-29T13:56:39Z",
      "hostname": "mta1.send.goldcrest.dev",
      "id": "dip_5g8r8h31kr8cz8zp1p4s837r4m",
      "ip_pool_id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
      "organization_id": "org_01ky7m235keybaf72b0fdgfwj4",
      "purchased_at": "2026-06-29T13:56:39Z",
      "status": "active",
      "updated_at": "2026-07-23T13:56:39Z",
      "warmup_completed_at": "2026-07-15T13:56:39Z",
      "warmup_progress": 100,
      "warmup_started_at": "2026-06-29T13:56:39Z"
    }
  ],
  "is_default": false,
  "name": "Goldcrest Pool",
  "organization_id": "org_01ky7m235keybaf72b0fdgfwj4",
  "protected": false,
  "updated_at": "2026-07-23T13:56:39Z"
}

Pool dimiliki oleh organisasi. hostname setiap IP ditetapkan secara otomatis saat IP disediakan; perlakukan sebagai informasi, bukan sesuatu yang Anda konfigurasi.

Inventaris organisasi menyertakan Shared Bird.com Pool, yang ditandai protected: true. Pool ini memiliki pool ID, dan alias cadangan ipp_shared merujuk ke pool tersebut. Bird mengelolanya: pool ini tidak dapat diganti nama atau dihapus, tidak dapat menampung IP dedikasi, dan tidak dihitung terhadap kuota pool Anda. Workspace yang memiliki penetapan pool melihatnya jika shared pool ditetapkan ke workspace tersebut. Menggunakan alias memerlukan izin yang sama dengan menggunakan ID-nya.

Saat penetapan workspace tersedia, dasbor memberikan akses ke pool yang baru dibuat kepada workspace saat ini. Untuk pembelian IP khusus pertama melalui dasbor, buat pool sebelum mengonfirmasi pembayaran. Pembelian melalui API atau CLI tanpa ID pool membuat pool organisasi yang masih perlu ditetapkan ke workspace.

Jika penetapan workspace tersedia, berikan akses pool tanpa mengubah default workspace:

Contoh kode
bird email ip-pools workspaces assign ipp_1btmn1nnkd8y6a4jckbkvvt9eh ws_01krdgeqcxet5s7t44vh8rt9mg --is-default=false

Untuk workspace tanpa penetapan, langkah ini juga mempertahankan pengiriman bersama dengan menetapkan shared pool sebagai default-nya. Jika --is-default dihilangkan atau diatur ke true, pool pertama yang ditetapkan menjadi default dan pengiriman dibatasi ke kumpulan yang ditetapkan. Pool dedikasi yang sedang warming juga memerlukan penetapan shared pool, karena kelebihan lalu lintas selama warmup menggunakan IP bersama. Workspace tanpa penetapan pool menggunakan shared pool.

Untuk menghapus penetapan, ganti dulu setiap pilihan default dan penggunaan tersimpan dalam default domain, mailbox, pengaturan SMTP, atau broadcast yang berupa draf, terjadwal, atau belum selesai. Riwayat broadcast yang sudah selesai tetap menyimpan identitas pool aslinya dan tidak menghalangi penghapusan.

Contoh kode
bird email ip-pools workspaces remove ipp_1btmn1nnkd8y6a4jckbkvvt9eh ws_01krdgeqcxet5s7t44vh8rt9mg --yes

Memindahkan IP antar pool

IP dedikasi selalu berada di tepat satu pool, tanpa status tidak ditetapkan. Pemindahan dilakukan dengan satu assign:

Contoh kode
bird email dedicated-ips assign dip_5g8r8h31kr8cz8zp1p4s837r4m --ip-pool-id ipp_01ky7q6288fqnsghxyem91ryjv

Shared pool bukan tujuan yang valid: IP dedikasi hanya berada di pool milik Anda sendiri.

Menghapus pool

Hanya pool kosong yang dapat dihapus. Menghapus pool yang masih berisi IP ditolak dengan 409; pindahkan atau batalkan IP-nya terlebih dahulu. Ganti pilihan default-nya, lalu hapus penetapan workspace dan penggunaan tersimpannya sebelum menghapus pool.

Contoh kode
bird email ip-pools delete ipp_01ky7q6288fqnsghxyem91ryjv --yes

Default pool

Jika pengiriman maupun domain pengirimnya tidak memilih pool, kami menggunakan default pool Anda. Untuk organisasi yang mengelola pool per workspace, ini adalah default workspace tersebut. Aturan berikut berlaku untuk default tersebut:

  • Tepat satu pool selalu menjadi default. Shared pool adalah default awal, sehingga hal ini berlaku sejak hari pertama.
  • Default dipindahkan, tidak pernah dikosongkan. Ubah default dengan menjadikan pool lain sebagai default. Ini menonaktifkan default sebelumnya pada saat yang sama, sehingga setiap saat selalu ada tepat satu default. Menonaktifkan is_default pada default saat ini ditolak dengan 422; untuk kembali ke routing bersama, jadikan shared pool sebagai default:
Contoh kode
bird email ip-pools update ipp_shared --is-default

Untuk organisasi yang mengelola pool per workspace, pilih default workspace sebagai gantinya:

Contoh kode
bird email ip-pools workspaces assign ipp_shared ws_01krdgeqcxet5s7t44vh8rt9mg --is-default

Gunakan penetapan workspace jika operasi update --is-default tingkat organisasi mengembalikan IPPoolOrganizationDefaultRetired. Perubahan penetapan dapat sementara tidak tersedia selama masa transisi. Mengubah default satu workspace tidak mengubah default workspace lain.

  • Pool dedikasi memerlukan setidaknya satu IP yang tidak sedang dihentikan untuk menjadi default. IP warming dihitung; IP dalam pending_cancellation tidak. Default Anda tidak boleh hanya didukung oleh IP yang akan dihentikan. Shared pool dikecualikan dan selalu menjadi default yang valid.
  • IP terakhir tidak dapat meninggalkan default pool. Selama pool memegang penetapan default, IP terakhirnya tidak dapat dibatalkan maupun dipindahkan; pindahkan default terlebih dahulu, lalu kosongkan pool.

Pemeriksaan ini melindungi perubahan yang direncanakan. Jika pool dedikasi kehilangan IP pengirimnya atau izin yang diperlukannya, pengiriman melalui pool tersebut gagal hingga Anda memulihkannya atau memilih default lain yang diizinkan.

Memilih pool saat mengirim

Routing adalah bagian dari fitur ini yang ada di API publik. Pilih pool per pesan dengan field opsional ip_pool_id pada POST /v1/email/messages:

await bird.email.send({
  from: "noreply@yourdomain.com",
  to: ["delivered@messagebird.dev"],
  subject: "Your receipt",
  html: "<p>Thanks for your order.</p>",
  ip_pool_id: "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
});

Resolusi bekerja seperti ini:

  • ip_pool_id dihilangkan: pengiriman menggunakan default pool domain pengirim di workspace saat ini jika sudah ditetapkan; jika belum, pengiriman menggunakan perutean default Anda.
  • ip_pool_id: "ipp_shared": pengiriman menggunakan shared pool jika workspace Anda dapat menggunakannya. Pilihan ini memakai infrastruktur bersama meskipun pool dedikasi menjadi default Anda.
  • ip_pool_id diatur ke pool ID: pengiriman menggunakan pool tersebut jika tersedia untuk workspace Anda.

Nilai yang tidak dikenal, tidak tersedia untuk workspace, atau menyebut pool tanpa IP yang tersedia ditolak dengan 422. Pool dedikasi dengan IP yang sedang warming juga memerlukan izin untuk menggunakan shared pool bagi kelebihan lalu lintas selama warmup. Jika izin shared pool dicabut, rute warming tersebut tidak tersedia. Pilihan pool eksplisit disimpan untuk pesan yang diterima dan diperiksa lagi sebelum pengiriman; pencabutan izin di kemudian hari dapat menghentikan pengiriman. Bird tidak mengganti pilihan eksplisit yang tidak tersedia dengan pool lain.

Membatalkan IP dedikasi

Pembatalan terdiri dari dua fase. Membatalkan menjadwalkan penghapusan alih-alih langsung menghapus IP:

Contoh kode
bird email dedicated-ips delete dip_5g8r8h31kr8cz8zp1p4s837r4m --yes

IP beralih ke pending_cancellation dan mendapat timestamp cancels_at, yaitu akhir periode penagihan yang sudah Anda bayar. Hingga cancels_at IP tetap mengirim sebagai bagian dari pool-nya; setelah itu, kami mencabut provisinya dalam waktu satu jam. Membatalkan IP yang sudah pending tidak memiliki efek lebih lanjut.

Perhatikan satu konsekuensi langsung: IP pending_cancellation langsung berhenti dihitung terhadap aturan default pool. Dan perlindungan default pool tetap berlaku: IP terakhir dalam default pool tidak dapat dibatalkan; pindahkan default (ke shared pool atau pool lain) terlebih dahulu.

Langkah selanjutnya

Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini.