Dedicated IP's en pools
Op gedeelde infrastructuur vertrekt je e-mail vanaf IP-adressen die je deelt met andere klanten. We houden die IP's gezond, maar je reputatie is nog steeds gebundeld met die van alle anderen. Een dedicated IP is een adres waar alleen jouw organisatie vanaf verstuurt, zodat mailboxproviders je verkeer uitsluitend op jouw eigen trackrecord beoordelen. IP-pools groeperen dedicated IP's in routeerbare eenheden, en het ip_pool_id-veld op een verzending kiest de pool voor dat bericht.
Je hebt nooit dedicated IP's nodig om te versturen. Elke organisatie begint met de Shared Bird.com Pool als standaard, dus e-mail stroomt vanaf dag één zonder iets te configureren. Dedicated IP's zijn een betaalde uitbreiding die alleen rendeert bij consistent volume. Een weinig gebruikte dedicated IP bouwt langzamer reputatie op dan de gedeelde pool al heeft, dus verzenders met weinig volume zijn meestal beter af met de gedeelde pool. Verbetert een dedicated IP de e-mailaflevering? legt uit hoe verzendvolume en reputatie die keuze beïnvloeden.
Twee dingen om te weten voordat je koopt:
- Nieuwe IP's doorlopen een automatische opwarming voordat ze volledig volume aankunnen; overflow gaat in de tussentijd via de gedeelde pool.
- IP's en pools behoren tot je organisatie.
Waar je ze beheert
Beheer pools en IP's in Email > IP Pools in het dashboard, of met de bird email ip-pools- en bird email dedicated-ips-CLI-commando's. Deze bewerkingen vereisen machtigingen op organisatieniveau. De SDK's bevatten geen getypte beheermethoden. Om een bericht via een pool te routeren stel je ip_pool_id in zoals beschreven in Een pool selecteren bij verzending.

Een dedicated IP kopen
Koop een IP via het tabblad Dedicated IPs of met de CLI:
Codevoorbeeld
bird email dedicated-ips create --quantity 1 --ip-pool-id ipp_1btmn1nnkd8y6a4jckbkvvt9eh- Bij je eerste aankoop kun je --ip-pool-id weglaten: we maken je eerste pool aan met de naam "Dedicated IPs" en plaatsen de IP's erin. Zodra je organisatie minstens één pool heeft, is de vlag verplicht; je kiest waar elk nieuw IP terechtkomt.
- Elk IP wordt gefactureerd als maandelijks abonnement. Wanneer je walletsaldo de aankoop niet dekt, meldt het antwoord requires_topup (vul aan om door te gaan) of pending_topup (een kaartbetaling wordt verwerkt); de IP's worden automatisch ingericht zodra het saldo beschikbaar is.
- Aankopen zijn begrensd door het email_ip_dedicated_max-quotum van je abonnement, en pools door email_ip_pools_max.
Elk ingerichte IP begint met de status warming en schaalt automatisch op; IP-opwarming behandelt het schema en hoe je het kunt monitoren. De hostname van het IP is de reverse-DNS-naam (PTR), de naam waarmee het zich voorstelt aan ontvangende mailservers; voeg deze toe aan elke allowlist die filtert op verzendhostnaam.
Een IP kopen verandert niet je standaardpool. De gedeelde pool blijft de standaard totdat je expliciet wisselt, omdat het routeren van al je niet-gespecificeerde verkeer naar een koud, nog opwarmend IP je aflevering zou schaden.
Een IP rapporteert een van vier statussen:
| Status | Betekenis |
|---|---|
| warming | Het IP is nieuw en warmt op. Het neemt een groeiend deel van je verkeer over; de rest stroomt over naar de gedeelde pool. |
| active | Opwarming voltooid. Het IP verwerkt volledig volume. |
| suspended | Het IP is tijdelijk opgeschort. |
| pending_cancellation | Je hebt het IP opgezegd. Het blijft versturen tot het einde van de factureringsperiode die je al hebt betaald, maar telt niet meer mee als de standaardpoolregels de pool optellen. |
IP-pools
Pools scheiden verzendstromen: een veelgebruikte opzet is één pool voor transactionele mail en een andere voor marketing, zodat de reputatie van een campagne nooit je wachtwoordresets raakt. Pools zijn gratis aan te maken, tot aan het email_ip_pools_max-quotum van je abonnement.
Codevoorbeeld
bird email ip-pools create TransactionalCodevoorbeeld
{
"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"
}Pools worden altijd als niet-standaard en leeg aangemaakt. Je vult ze door er rechtstreeks in te kopen (--ip-pool-id bij de aankoop) of door bestaande IP's erin te verplaatsen. Het uitlezen van een pool geeft de bijbehorende IP's volledig terug:
Codevoorbeeld
bird email ip-pools get ipp_1btmn1nnkd8y6a4jckbkvvt9ehCodevoorbeeld
{
"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"
}Pools zijn eigendom van de organisatie. De hostname van elk IP wordt automatisch toegewezen wanneer het IP wordt ingericht; beschouw het als informatief, niet als iets dat je configureert.
Je poollijst bevat altijd de Shared Bird.com Pool, gemarkeerd als protected: true. Deze verschijnt met een pool-ID net als elke andere, en de gereserveerde alias ipp_shared verwijst ernaar overal waar een pool-ID wordt geaccepteerd. Bescherming betekent dat wij hem beheren: hij kan niet hernoemd of verwijderd worden, kan geen dedicated IP's bevatten en telt niet mee voor je poolquotum. Het enige dat je eraan kunt wijzigen is of hij de standaard is.
Een IP verplaatsen tussen pools
Een dedicated IP zit altijd in precies één pool, zonder niet-toegewezen status. Verplaatsen is een enkele toewijzing:
Codevoorbeeld
bird email dedicated-ips assign dip_5g8r8h31kr8cz8zp1p4s837r4m --ip-pool-id ipp_01ky7q6288fqnsghxyem91ryjvDe gedeelde pool is geen geldige bestemming: dedicated IP's bestaan alleen in je eigen pools.
Een pool verwijderen
Alleen lege pools kunnen worden verwijderd. Het verwijderen van een pool die nog IP's bevat wordt geweigerd met een 409; verplaats of annuleer eerst de IP's. De standaardpool kan helemaal niet worden verwijderd; wijs eerst een andere standaard aan voordat je hem verwijdert.
Codevoorbeeld
bird email ip-pools delete ipp_01ky7q6288fqnsghxyem91ryjvDe standaardpool
Wanneer een verzending geen pool specificeert, gebruiken we je standaardpool. De regels eromheen zijn strikt, omdat de standaard elke verzending moet afhandelen die er geen kiest:
- Er is altijd precies één pool de standaard. De gedeelde pool is de initiële standaard, dus dat geldt vanaf dag één.
- De standaard wordt verplaatst, nooit gewist. Wijzig hem door een andere pool de standaard te maken. Dat schakelt de vorige standaard op hetzelfde moment uit, zodat er elk moment precies één standaard is. Het uitzetten van is_default op de huidige standaard wordt geweigerd met een 422; om terug te gaan naar gedeelde routering maak je de gedeelde pool weer de standaard:
Codevoorbeeld
bird email ip-pools update ipp_shared --is-default- Een dedicated pool heeft minstens één IP nodig dat niet wordt afgebouwd om de standaard te worden. Een warming-IP telt mee; een IP in pending_cancellation niet. Je standaard kan nooit uitsluitend worden gedragen door IP's die op weg naar buiten zijn. De gedeelde pool is uitgezonderd en is altijd een geldige standaard.
- Het laatst overgebleven IP kan de standaardpool niet verlaten. Zolang een pool de standaardaanduiding draagt, kan het laatste IP niet worden geannuleerd of wegverplaatst; wissel eerst de standaard, en leeg dan de pool.
Samen zorgen deze regels ervoor dat je standaardpool altijd iets heeft om vanaf te versturen.
Een pool selecteren bij verzending
Routering is het deel van deze functie dat in de publieke API leeft. Kies een pool per bericht met het optionele ip_pool_id-veld op 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"
}'De afhandeling werkt als volgt:
- ip_pool_id weggelaten: de verzending gebruikt je standaardpool.
- ip_pool_id: "ipp_shared": de verzending gaat via de gedeelde pool, ongeacht je standaard. Handig om een stroom met weinig impact op gedeelde infrastructuur te houden terwijl een dedicated pool je standaard is.
- ip_pool_id ingesteld op een van je pool-ID's: de verzending gaat via die pool.
Een waarde die onbekend is, tot een andere organisatie behoort, of een pool aanduidt zonder beschikbare IP's wordt geweigerd met een 422. We routeren een expliciete poolkeuze niet om naar gedeelde infrastructuur.
Een dedicated IP annuleren
Annulering verloopt in twee fasen. Annuleren plant de verwijdering in plaats van het IP onmiddellijk te verwijderen:
Codevoorbeeld
bird email dedicated-ips delete dip_5g8r8h31kr8cz8zp1p4s837r4mHet IP gaat over naar pending_cancellation en krijgt een cancels_at-tijdstempel, het einde van de factureringsperiode die je al hebt betaald. Tot cancels_at blijft het versturen als onderdeel van zijn pool; daarna deprovisioneren we het binnen het uur. Het annuleren van een IP dat al in afwachting is, heeft geen verder effect.
Houd rekening met het ene directe gevolg: een pending_cancellation-IP telt direct niet meer mee voor de standaardpoolregels. En de standaardpoolbeveiliging blijft gelden: het laatste IP in de standaardpool kan niet worden geannuleerd; verplaats de standaard (naar de gedeelde pool of een andere pool) eerst.
Volgende stappen
- IP-opwarming: hoe nieuwe dedicated IP's opschalen naar volledig volume, en wanneer je je standaard wisselt
- E-mail versturen: het volledige verzendverzoek, inclusief ip_pool_id
- Aflevering · Email: het reputatiemodel waar dedicated IP's in passen
- Een dedicated IP kopen: een video waarin er een wordt gekocht in het dashboard en de opwarming begint
Gerelateerde bronnen
Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.