E-mail bounce- en afwijzingsredenen
Wanneer een e-mail niet bezorgd kan worden, geeft de ontvangende mailserver een mislukkingsreden terug. Verschillende providers bieden dit op verschillende manieren aan. Truncus normaliseert ze tot deterministische terminale statussen.
Terminale statussen
| Status | Betekenis |
|---|---|
delivered | Mailbox heeft het bericht geaccepteerd |
bounced | Bezorging mislukt na transportpoging |
rejected | Bericht afgewezen vóór bezorgingspoging |
Mislukkingsredenen
| Reden | Betekenis | Typische SMTP-code | Aanbevolen actie |
|---|---|---|---|
mailbox_full | Inboxopslag overschreden | 552 | Later opnieuw proberen |
user_unknown | Adres bestaat niet | 550 | Adres verwijderen |
domain_not_found | Domein-DNS niet oplosbaar | NXDOMAIN | Adres verwijderen |
spam_blocked | Afgewezen door spamfilter | 554 | Domeinstatus controleren |
policy_block | Afwijzing door domeinbeleid | 550 | Afzenderconfiguratie controleren |
temporary_failure | Tijdelijk bezorgingsprobleem | 451 | Later opnieuw proberen |
connection_timeout | Ontvangende server onbereikbaar | — | Later opnieuw proberen |
suppression_list | Adres eerder gebounced | — | Niet opnieuw proberen |
mailbox_full
De mailbox van de ontvanger heeft de opslagquota overschreden.
Typisch SMTP-antwoord:
552 5.2.2 Mailbox full
Truncus-response:
{ "status": "bounced", "reason": "mailbox_full" }
Dit is een soft bounce — een tijdelijke toestand. Probeer het na een vertraging opnieuw. Als het na meerdere pogingen aanhoudt, behandel het adres dan als onbereikbaar.
user_unknown
Het e-mailadres bestaat niet op de ontvangende server.
Typisch SMTP-antwoord:
550 5.1.1 The email account that you tried to reach does not exist
Truncus-response:
{ "status": "bounced", "reason": "user_unknown" }
Dit is een hard bounce. Verwijder het adres uit je systeem en probeer het niet opnieuw. Doorgaan met verzenden naar niet-bestaande adressen schaadt je domeinreputatie.
domain_not_found
Het ontvangende domein heeft geen geldig MX-record of is niet oplosbaar in DNS.
Veelvoorkomende oorzaken: typfout in het domeingedeelte van het e-mailadres, verlopen domein, verwijderd domein.
Truncus-response:
{ "status": "bounced", "reason": "domain_not_found" }
Behandel als hard bounce. Verwijder het adres.
spam_blocked
Het bericht is afgewezen door het spamfilter van de ontvangende server.
Typisch SMTP-antwoord:
554 5.7.1 Message rejected due to policy
Truncus-response:
{ "status": "bounced", "reason": "spam_blocked" }
Onderzoek de reputatie van je verzenddomein. Controleer je DKIM/SPF/DMARC-configuratie. Bekijk de berichtinhoud op spam-triggers.
suppression_list
Het adres staat op de suppressielijst van Truncus — het heeft eerder een hard bounce of spamklacht gegenereerd.
Truncus blokkeert verzending naar onderdrukte adressen om je domeinreputatie te beschermen.
Truncus-response:
{ "status": "rejected", "reason": "suppression_list" }
Niet opnieuw proberen. Neem contact op met je ontvanger om hun adres te verifiëren indien nodig.
temporary_failure
De ontvangende server heeft een tijdelijke fout teruggegeven.
Typisch SMTP-antwoord:
451 4.7.1 Try again later
Truncus-response:
{ "status": "bounced", "reason": "temporary_failure" }
Dit is een soft bounce. Probeer het na een vertraging opnieuw.
Fouten programmatisch afhandelen
const response = await truncus.emails.send({ to, from, subject, html })
switch (response.status) {
case 'delivered':
// succes vastleggen
break
case 'bounced':
if (['user_unknown', 'domain_not_found'].includes(response.reason)) {
// hard bounce — adres permanent verwijderen
await removeEmailAddress(to)
} else {
// soft bounce — retry inplannen
await scheduleRetry(to, response.reason)
}
break
case 'rejected':
if (response.reason === 'suppression_list') {
// niet opnieuw proberen — adres is geblokkeerd
await markAddressSuppressed(to)
}
break
}
Bounce-types
Hard bounce: permanente bezorgingsfout. Het adres is ongeldig of permanent onbereikbaar. Verwijder het onmiddellijk uit je lijst. Doorgaan met verzenden naar hard-gebounced adressen schaadt je afzenderreputatie.
Soft bounce: tijdelijke fout. Het adres is geldig maar tijdelijk onbereikbaar. Probeer het na een vertraging opnieuw, maar stel een retry-limiet in.
| Reden | Type |
|---|---|
mailbox_full | Soft |
temporary_failure | Soft |
connection_timeout | Soft |
user_unknown | Hard |
domain_not_found | Hard |
spam_blocked | Hard |
suppression_list | Afgewezen (niet opnieuw proberen) |
→ Start de Quickstart om bezorgingsstatus in de praktijk te zien