Dedykowane adresy IP i pule
W infrastrukturze współdzielonej Twoje wiadomości e-mail wychodzą z adresów IP wspólnych z innymi klientami. Dbamy o kondycję tych adresów, ale Twoja reputacja jest wciąż łączona z reputacją pozostałych nadawców. Dedykowany adres IP to adres, z którego wysyła wyłącznie Twoja organizacja, więc dostawcy skrzynek pocztowych oceniają Twój ruch wyłącznie na podstawie Twojej historii. Pule IP grupują dedykowane adresy IP w jednostki routingu, a pole ip_pool_id w wysyłce wskazuje pulę dla danej wiadomości.
Nie potrzebujesz dedykowanych adresów IP, żeby wysyłać. Każda organizacja zaczyna z pulą Shared Bird.com Pool jako domyślną, więc e-mail działa od pierwszego dnia bez konfiguracji. Dedykowane adresy IP to płatny dodatek, który opłaca się tylko przy stałym wolumenie. Rzadko używany dedykowany adres IP buduje reputację wolniej niż pula współdzielona, która już ją ma, więc nadawcy z małym wolumenem zwykle lepiej wychodzą na puli współdzielonej. Czy dedykowany adres IP poprawia dostarczalność e-maili? wyjaśnia, jak wolumen wysyłek i reputacja wpływają na ten wybór.
Dwie rzeczy, które warto wiedzieć przed zakupem:
- Nowe adresy IP przechodzą automatyczny warmup, zanim będą mogły obsłużyć pełny wolumen; nadmiar ruchu w tym czasie trafia przez pulę współdzieloną.
- Adresy IP i pule należą do Twojej organizacji.
Gdzie nimi zarządzasz
Zarządzaj pulami i adresami IP w Email > IP Pools w dashboardzie albo za pomocą bird email ip-pools i bird email dedicated-ips komend CLI. Te operacje wymagają uprawnień na poziomie organizacji. SDK nie zawierają typowanych metod zarządzania. Aby skierować wiadomość przez pulę, ustaw ip_pool_id zgodnie z opisem w Wybierz pulę w momencie wysyłki.

Kup dedykowany adres IP
Kup adres IP z zakładki Dedicated IPs lub za pomocą CLI:
Przykład kodu
bird email dedicated-ips create --quantity 1 --ip-pool-id ipp_1btmn1nnkd8y6a4jckbkvvt9eh- Przy pierwszym zakupie możesz pominąć --ip-pool-id: tworzymy Twoją pierwszą pulę o nazwie "Dedicated IPs" i przypisujemy do niej adresy IP. Gdy Twoja organizacja ma już co najmniej jedną pulę, flaga jest wymagana; sam wybierasz, gdzie trafia każdy nowy adres IP.
- Każdy adres IP jest rozliczany jako miesięczna subskrypcja. Gdy saldo portfela nie pokrywa zakupu, odpowiedź zwraca requires_topup (doładuj konto, aby kontynuować) lub pending_topup (trwa rozliczanie płatności kartą); adresy IP zostaną udostępnione automatycznie po zaksięgowaniu środków.
- Zakupy są ograniczone limitem email_ip_dedicated_max Twojego planu, a pule limitem email_ip_pools_max.
Każdy udostępniony adres IP zaczyna ze statusem warming i rozgrzewa się automatycznie; IP warmup opisuje harmonogram i sposób monitorowania. Wartość hostname adresu IP to jego nazwa reverse-DNS (PTR), czyli nazwa, którą przedstawia się serwerom odbierającym pocztę; dodaj ją do każdej listy dozwolonych, która filtruje po nazwie hosta nadawcy.
Zakup adresu IP nie zmienia Twojej domyślnej puli. Pula współdzielona pozostaje domyślna, dopóki jej jawnie nie przełączysz, ponieważ skierowanie całego nieokreślonego ruchu na zimny, wciąż rozgrzewający się adres IP zaszkodziłoby Twojej dostarczalności.
Adres IP zgłasza jeden z czterech statusów:
| Status | Znaczenie |
|---|---|
| warming | Adres IP jest nowy i rozgrzewa się. Przejmuje rosnącą część Twojego ruchu; reszta trafia do puli współdzielonej. |
| active | Rozgrzewanie zakończone. Adres IP obsługuje pełny wolumen. |
| suspended | Adres IP jest tymczasowo zawieszony. |
| pending_cancellation | Anulowałeś adres IP. Wysyła dalej do końca opłaconego okresu rozliczeniowego, ale nie jest już uwzględniany, gdy reguły domyślnej puli zliczają skład puli. |
Pule IP
Pule rozdzielają strumienie wysyłek: typowa konfiguracja to jedna pula dla maili transakcyjnych i druga dla marketingowych, dzięki czemu reputacja kampanii nie wpływa na resetowanie haseł. Tworzenie pul jest bezpłatne, do limitu email_ip_pools_max Twojego planu.
Przykład kodu
bird email ip-pools create TransactionalPrzykład kodu
{
"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"
}Pule są zawsze tworzone jako niedomyślne i puste. Wypełniasz je, kupując adresy IP bezpośrednio do nich (--ip-pool-id przy zakupie) lub przenosząc istniejące adresy IP. Odczyt puli zwraca pełną listę przypisanych adresów IP:
Przykład kodu
bird email ip-pools get ipp_1btmn1nnkd8y6a4jckbkvvt9ehPrzykład kodu
{
"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"
}Pule należą do organizacji. Wartość hostname każdego adresu IP jest przypisywana automatycznie przy udostępnianiu; traktuj ją jako informacyjną, a nie konfigurowalną.
Na liście pul zawsze znajduje się Shared Bird.com Pool, oznaczona protected: true. Pojawia się z identyfikatorem puli jak każda inna, a zarezerwowany alias ipp_shared wskazuje na nią wszędzie tam, gdzie akceptowany jest identyfikator puli. Ochrona oznacza, że zarządzamy nią my: nie można jej zmienić nazwy ani usunąć, nie może zawierać dedykowanych adresów IP i nie jest wliczana do limitu pul. Jedyne, co możesz w niej zmienić, to czy jest domyślna.
Przenieś adres IP między pulami
Dedykowany adres IP jest zawsze w dokładnie jednej puli, bez stanu nieprzypisanego. Przeniesienie to pojedyncze przypisanie:
Przykład kodu
bird email dedicated-ips assign dip_5g8r8h31kr8cz8zp1p4s837r4m --ip-pool-id ipp_01ky7q6288fqnsghxyem91ryjvPula współdzielona nie jest prawidłowym celem: dedykowane adresy IP mogą znajdować się tylko w Twoich własnych pulach.
Usuń pulę
Usunąć można tylko puste pule. Próba usunięcia puli, która wciąż zawiera adresy IP, jest odrzucana z błędem 409; najpierw przenieś lub anuluj jej adresy IP. Domyślnej puli nie można usunąć wcale; najpierw wyznacz inną pulę jako domyślną.
Przykład kodu
bird email ip-pools delete ipp_01ky7q6288fqnsghxyem91ryjvDomyślna pula
Gdy wysyłka nie wskazuje puli, używamy Twojej domyślnej puli. Reguły wokół niej są ścisłe, ponieważ domyślna pula musi obsłużyć każdą wysyłkę, która nie wybiera puli samodzielnie:
- Dokładnie jedna pula jest zawsze domyślna. Pula współdzielona jest początkową domyślną, więc ta zasada obowiązuje od pierwszego dnia.
- Domyślną pulę przenosi się, a nie usuwa. Zmień ją, wyznaczając inną pulę jako domyślną. Poprzednia domyślna traci status w tej samej chwili, więc w każdym momencie jest dokładnie jedna domyślna. Wyłączenie is_default na bieżącej domyślnej jest odrzucane z błędem 422; aby wrócić do routingu współdzielonego, ustaw pulę współdzieloną jako domyślną:
Przykład kodu
bird email ip-pools update ipp_shared --is-default- Dedykowana pula potrzebuje co najmniej jednego adresu IP, który nie jest wygaszany, aby mogła zostać domyślną. Adres IP w statusie warming się liczy; adres IP w statusie pending_cancellation nie. Twoja domyślna pula nigdy nie może opierać się wyłącznie na adresach IP na drodze do wycofania. Pula współdzielona jest wyjątkiem i jest zawsze prawidłową domyślną.
- Ostatni pozostały adres IP nie może opuścić domyślnej puli. Dopóki pula ma status domyślnej, jej ostatniego adresu IP nie można ani anulować, ani przenieść; najpierw przełącz domyślną, potem opróżnij pulę.
Łącznie te reguły gwarantują, że Twoja domyślna pula zawsze ma z czego wysyłać.
Wybierz pulę w momencie wysyłki
Routing to część tej funkcji, która działa w publicznym API. Wybierz pulę na wiadomość za pomocą opcjonalnego pola ip_pool_id w 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",
});client.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",
)_, err := client.Email.Send(context.Background(), bird.EmailSendParams{
From: "noreply@yourdomain.com",
To: []string{"delivered@messagebird.dev"},
Subject: "Your receipt",
HTML: "<p>Thanks for your order.</p>",
IpPoolId: "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
})$bird->email->send(
from: 'noreply@yourdomain.com',
to: ['delivered@messagebird.dev'],
subject: 'Your receipt',
html: '<p>Thanks for your order.</p>',
ipPoolId: 'ipp_1btmn1nnkd8y6a4jckbkvvt9eh',
);bird email send \
--from noreply@yourdomain.com \
--html '<p>Thanks for your order.</p>' \
--ip-pool-id ipp_1btmn1nnkd8y6a4jckbkvvt9eh \
--subject 'Your receipt' \
--to delivered@messagebird.dev{
"name": "email_send",
"arguments": {
"from": {
"email": "noreply@yourdomain.com"
},
"html": "<p>Thanks for your order.</p>",
"ip_pool_id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
"subject": "Your receipt",
"to": [
{
"email": "delivered@messagebird.dev"
}
]
}
}curl -X POST https://us1.platform.bird.com/v1/email/messages \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "noreply@yourdomain.com",
"to": ["delivered@messagebird.dev"],
"subject": "Your receipt",
"html": "<p>Thanks for your order.</p>",
"ip_pool_id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh"
}'Rozwiązywanie działa następująco:
- ip_pool_id pominięte: wysyłka korzysta z Twojej domyślnej puli.
- ip_pool_id: "ipp_shared": wysyłka trafia przez pulę współdzieloną niezależnie od Twojej domyślnej. Przydatne, gdy chcesz utrzymać mało istotny strumień na infrastrukturze współdzielonej, a Twoją domyślną jest pula dedykowana.
- ip_pool_id ustawione na jeden z identyfikatorów Twoich pul: wysyłka trafia przez tę pulę.
Wartość nieznana, należąca do innej organizacji lub wskazująca pulę bez dostępnych adresów IP jest odrzucana z błędem 422. Nie przekierowujemy jawnie wybranej puli na infrastrukturę współdzieloną.
Anulowanie dedykowanego adresu IP
Anulowanie jest dwuetapowe. Anulowanie planuje usunięcie zamiast natychmiastowego usuwania adresu IP:
Przykład kodu
bird email dedicated-ips delete dip_5g8r8h31kr8cz8zp1p4s837r4mAdres IP przechodzi w status pending_cancellation i otrzymuje znacznik czasu cancels_at, oznaczający koniec opłaconego okresu rozliczeniowego. Do momentu cancels_at wysyła dalej jako część swojej puli; po tym czasie deaktywujemy go w ciągu godziny. Anulowanie adresu IP, który już oczekuje na usunięcie, nie ma dalszego efektu.
Uwzględnij jedną natychmiastową konsekwencję: adres IP w statusie pending_cancellation natychmiast przestaje być liczony w regułach domyślnej puli. Zabezpieczenie domyślnej puli nadal obowiązuje: ostatniego adresu IP w domyślnej puli nie można anulować; najpierw przenieś domyślną (na pulę współdzieloną lub inną pulę).
Następne kroki
- IP warmup: jak nowe dedykowane adresy IP rozgrzewają się do pełnego wolumenu i kiedy przełączyć domyślną
- Wysyłanie e-maili: pełne żądanie wysyłki, w tym ip_pool_id
- Dostarczalność · Email: model reputacji, w który wpinają się dedykowane adresy IP
- Zakup dedykowanego IP: wideo pokazujące zakup w dashboardzie i początek rozgrzewania
Powiązane zasoby
Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.