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.
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.
Daftar pool Anda selalu menyertakan Shared Bird.com Pool, yang ditandai protected: true. Pool ini muncul dengan pool ID seperti pool lainnya, dan alias cadangan ipp_shared merujuk ke pool ini di mana pun pool ID diterima. Perlindungan berarti kami yang mengelolanya: pool ini tidak dapat diganti nama atau dihapus, tidak dapat menampung IP dedikasi, dan tidak dihitung terhadap kuota pool Anda. Satu-satunya hal yang dapat Anda ubah adalah apakah pool ini menjadi default.

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. Default pool tidak dapat dihapus sama sekali; tetapkan default lain sebelum menghapusnya.
Contoh kode
bird email ip-pools delete ipp_01ky7q6288fqnsghxyem91ryjv

Default pool

Ketika pengiriman tidak menentukan pool, kami menggunakan default pool Anda. Aturan seputar default pool ketat, karena default harus menangani setiap pengiriman yang tidak memilih pool:
  • 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
  • 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.
Aturan-aturan ini memastikan default pool Anda selalu memiliki sesuatu untuk mengirim.

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 Anda.
  • ip_pool_id: "ipp_shared": pengiriman dialihkan melalui shared pool terlepas dari default Anda. Berguna untuk menjaga aliran berisiko rendah pada infrastruktur bersama sementara pool dedikasi menjadi default Anda.
  • ip_pool_id diatur ke salah satu pool ID Anda: pengiriman melewati pool tersebut.
Nilai yang tidak dikenal, milik organisasi lain, atau menyebut pool tanpa IP yang tersedia ditolak dengan 422. Kami tidak mengalihkan pilihan pool eksplisit ke infrastruktur bersama.

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
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

Sumber daya terkait

Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.

Dapatkan ringkasan implementasi