Bounces
Bounce-Typen, Kategorien, automatische Unterdrückung und Wiederholungsverhalten verstehen
Wenn eine E-Mail nicht zugestellt werden kann, sendet der empfangende Server einen Bounce. MailLand klassifiziert Bounces, unterdrückt automatisch Adressen, die niemals E-Mails akzeptieren werden, und wiederholt transiente Fehler.
Bounce-Typen
| Typ | Beschreibung | Automatische Unterdrückung |
|---|---|---|
| Permanent | Dauerhafter Fehler: das Postfach existiert nicht oder die Domain ist ungültig. | Globaler Geltungsbereich (sofort) |
| Temporär | Vorübergehender Fehler: das Postfach ist voll oder der Server ist ausgelastet. | Marketing-Geltungsbereich, 30-tägiger Ablauf (beim ersten temporären Bounce) |
| Blockiert | Das Postfach des Empfängers ist in Ordnung: die Ablehnung betraf unseren Versand: Spam-Filterung eines Anbieters, ein Problem mit Absender-Authentifizierung/-Reputation wie SPF, DKIM, DMARC oder IP-Reputation, eine Richtlinienentscheidung des Empfängers, die Ablehnung des Envelope-Absenders oder ein Operator, der die Nachricht aus der eigenen Warteschlange von MailLand zurückgewiesen hat. | Keine automatische Unterdrückung: dies ist ein Signal über unseren Versand, nicht über den Empfänger |
Bounce-Kategorien
Die Bounce-Aufschlüsselungs-API (GET /v1/deliverability/bounce-breakdown) gruppiert jeden Bounce
nach der Klassifizierung, die der Mailserver (MTA) selbst der SMTP-Ablehnung zuweist, und bildet
diese Klassifizierung dann auf Permanent, Temporär oder Blockiert ab. Die folgende Tabelle ist das
vollständige, festgelegte Produktionsvokabular: alles, was der Host ausgibt und nicht in dieser
Tabelle steht, wird als Unbekannt gezählt statt geraten:
| Host-Klassifizierung | Typ |
|---|---|
InvalidRecipient | Permanent |
BadDomain | Permanent |
AdminBounce | Blockiert |
InactiveMailbox | Permanent |
SpamBlock | Blockiert |
SpamContent | Blockiert |
AuthenticationFailed | Blockiert |
QuotaIssues | Temporär |
NoAnswerFromHost | Temporär |
DNSFailure | Temporär |
RoutingErrors | Temporär |
MessageExpired | Temporär |
TransientFailure | Temporär |
PolicyRelated | Blockiert |
InvalidSender | Blockiert |
TooManyRecipients | Temporär |
ProtocolErrors | Temporär |
BadConnection | Temporär |
Uncategorized, oder ein nicht erkannter Wert | Unbekannt: Permanent, wenn der erweiterte Statuscode der Antwort die Empfängeradresse als dauerhaft unbrauchbar ausweist (etwa 5.1.1) |
Zwei weiter unten auf dieser Seite behandelte Endpunkte melden Bounces in einem eigenen Vokabular.
/v1/transactional/bounces/statistics zählt hardBounces und softBounces aus derselben
Entscheidung, die die Adresse unterdrückt (oder nicht), sodass ein blockierter Bounce nie als hart
oder temporär zählt; byCategory fasst die obige Host-Klassifizierung gröber zusammen
(invalid_recipient, bad_mailbox, bad_domain, mailbox_full, content_rejected,
policy_reason, general_bounce). /v1/transactional/bounces/recent liefert als bounceCategory
die Host-Klassifizierung der Nachricht selbst.
Automatische Verarbeitung
Permanente Bounces
- Die Empfänger-E-Mail-Adresse wird sofort zur globalen Unterdrückungsliste hinzugefügt
- Alle zukünftigen E-Mails (transaktional und Marketing) an diese Adresse werden blockiert
- Ein
message.bounced-Webhook-Ereignis wird mitbounce_type: "hard"ausgelöst (es wird kein separatessuppression.added-Ereignis ausgelöst)
Temporäre Bounces
- Der Nachrichtenstatus wird zu
Bounced - Die Adresse wird für 30 Tage für Marketing-E-Mails unterdrückt (transaktionale E-Mails werden weiterhin zugestellt): bereits beim ersten temporären Bounce, nicht erst nach mehreren Versuchen. Ausnahme: Der erste
MessageExpired-Bounce einer Adresse oder ihr erster Bounce wegen einer zu großen Nachricht (QuotaIssuesmit dem erweiterten Code5.3.4oder5.2.3) unterdrückt nichts; ein weiterer innerhalb von 30 Tagen unterdrückt wie üblich. - Ein
message.bounced-Webhook-Ereignis wird mitbounce_type: "soft"ausgelöst. (Vorübergehende Fehler werden vom MTA selbst erneut versucht, bevor ein Bounce an MailLand gemeldet wird.) - Nach 30 Tagen läuft die Unterdrückung automatisch ab
Blockierte Bounces
- Der Nachrichtenstatus ändert sich zu
Bounced(bei einemAdminBouncezuFailed), aber die Empfängeradresse wird nicht zu einer Unterdrückungsliste hinzugefügt: ein blockierter Bounce ist eine Aussage über unseren Versand, nicht über das Postfach des Empfängers - Ein
message.bounced-Webhook-Ereignis wird mitbounce_type: "blocked"ausgelöst (bei einemAdminBouncestattdessen einmessage.failed-Ereignis mitreason: "admin_bounce") - Eine anhaltende Rate blockierter Bounces löst einen internen Alarm zur manuellen Prüfung aus; es gibt keine automatische Versandpause
Die Hochstufung zu einem permanenten Bounce erfolgt nicht einfach „nach 3 temporären Bounces". Sie erfordert mindestens 3 erfasste Bounces, die sich über mindestens 7 Tage verteilen, und nur bestimmte Bounce-Gründe kommen dafür infrage: Bounces durch Postfach-Kontingent, DNS- oder Host-Auflösungsprobleme, vorübergehende Fehler, Verbindungsprobleme, Routing-Fehler, Protokollfehler oder abgelaufene Nachrichten werden nicht hochgestuft. Wird eine Adresse tatsächlich hochgestuft, wechselt die Unterdrückung vom Marketing-Geltungsbereich zu einem permanenten Bounce (globaler Geltungsbereich) und läuft automatisch nach 90 Tagen ab.
Ein blockierter Bounce (SpamBlock, SpamContent, AuthenticationFailed, PolicyRelated, InvalidSender, AdminBounce) wird niemals mit
permanenten oder temporären Bounces zusammengelegt: Das würde entweder einen durchaus erreichbaren
Empfänger für immer unterdrücken oder ein echtes Reputationsproblem des Absenders hinter einer
Kennzeichnung verstecken, mit der der Kontoinhaber nichts anfangen kann. Anders als ein
geeigneter temporärer Bounce wird er durch Wiederholung auch niemals zu einer permanenten
Unterdrückung hochgestuft: das wiederholte Signal betrifft die Reputation der Absenderdomain,
nicht den Empfänger.
Bounce-Statistiken
Rufen Sie aggregierte Bounce-Statistiken für einen Zeitraum ab:
GET https://api.mail.land/v1/transactional/bounces/statisticsAuthentifizierung mit Authorization: Bearer <token> oder X-API-Key: <api key>.
curl https://api.mail.land/v1/transactional/bounces/statistics \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
from | datetime | Vor 30 Tagen | Startdatum |
to | datetime | Jetzt | Enddatum |
{
"totalBounces": 1125,
"hardBounces": 450,
"softBounces": 385,
"generalBounces": 290,
"byCategory": {
"invalid_recipient": 380,
"mailbox_full": 345,
"content_rejected": 185,
"policy_reason": 95,
"bad_domain": 70,
"general_bounce": 50
}
}Aktuelle Bounces
Rufen Sie die zuletzt zurückgeworfenen Nachrichten ab:
GET https://api.mail.land/v1/transactional/bounces/recent?limit=50curl "https://api.mail.land/v1/transactional/bounces/recent?limit=50" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
limit | int | 50 | Anzahl der zurückzugebenden aktuellen Bounces |
[
{
"messageId": "t_a1b2c3d4e5f6",
"recipientEmail": "[email protected]",
"subject": "Your order has shipped",
"bounceCategory": "InvalidRecipient",
"bounceReason": "550 5.1.1 The email account does not exist",
"bouncedAt": "2026-02-17T12:34:56Z",
"retryCount": 0
},
{
"messageId": "t_d4e5f6a1b2c3",
"recipientEmail": "[email protected]",
"subject": "Invoice #1234",
"bounceCategory": "QuotaIssues",
"bounceReason": "552 5.2.2 Mailbox full",
"bouncedAt": "2026-02-17T11:00:00Z",
"retryCount": 2
}
]Ergebnisse sind absteigend nach bouncedAt sortiert und auf die letzten 90 Tage begrenzt. bouncedAt ist der Erstellungszeitpunkt der Nachricht, kein separat erfasster Bounce-Zeitstempel.
Bounce-Nachricht erneut versuchen
Versuchen Sie die Zustellung einer zurückgeworfenen Nachricht manuell erneut:
POST https://api.mail.land/v1/transactional/bounces/{messageId}/retrycurl -X POST https://api.mail.land/v1/transactional/bounces/t_a1b2c3d4e5f6/retry \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."Der erneute Versuch sendet den ursprünglichen Inhalt erneut über das Outbox-System von MailLand. Öffnungs- und Klick-Tracking sind bei erneut versendeten Kopien AUS: die Tracking-Wahl des ursprünglichen Versands lässt sich aus dem Nachrichtendatensatz nicht wiederherstellen.
| Status | Code | Beschreibung |
|---|---|---|
200 | - | Retry accepted (oder Retry already accepted for this attempt bei einer doppelten Anfrage) |
400 | INVALID_REQUEST | Nachricht ist nicht zurückgewiesen |
400 | RECIPIENT_SUPPRESSED | Empfänger ist unterdrückt |
422 | DOMAIN_NOT_VERIFIED | Die sendende Domain ist nicht mehr verifiziert |
429 | MARKETING_PAUSED | Der Marketing-Versand ist für diesen Mandanten pausiert |
404 | RESOURCE_NOT_FOUND | Nachricht nicht gefunden |
Sie können eine Nachricht nicht erneut versuchen, wenn der Empfänger unterdrückt ist. Entfernen Sie zuerst die Unterdrückung (siehe Unterdrückungen), dann versuchen Sie es erneut.
Bounce-Rate-Schwellenwerte
Die Schwellenwerte sind Plan-Standardwerte und werden erst ausgewertet, sobald mindestens die Mindeststichprobengröße an Versendungen im Auswertungsfenster erreicht ist:
| Plan | Warnung permanenter Bounces | Versand pausiert (429) bei | Warnung Beschwerden | Pause bei Beschwerden | Mindeststichprobengröße | Fenster |
|---|---|---|---|---|---|---|
| Free / Pro | ≥ 2 % | ≥ 5 % | ≥ 0,05 % | ≥ 0,1 % | 100 Versendungen | 60 Min. |
| Max | ≥ 2 % | ≥ 6 % | ≥ 0,1 % | ≥ 0,2 % | 500 Versendungen | 120 Min. |
Der Versand wird pausiert (API-429), sobald der Pausenschwellenwert erreicht ist; dies senkt außerdem Ihren Absender-Score.
Deliverability-Sperren
Eine Überschreitung des Pausenschwellenwerts setzt zusätzlich eine dauerhafte
Deliverability-Sperre für den Workspace, getrennt von der vorübergehenden 429-Pause oben.
Solange die Sperre aktiv ist, wird jeder Versand, transaktional und Marketing gleichermaßen,
abgelehnt: 403 ACTION_REQUIRED von der API, ein vorübergehendes 451 4.7.0 über SMTP-Relay, sodass Ihr Mailserver die Nachricht in der Warteschlange behält und es erneut versucht.
- Die Sperre wird einmal pro Überschreitungsvorfall gesetzt, nicht bei jedem Versand erneut.
- Sie bleibt bestehen, bis der MailLand-Support sie prüft und aufhebt; eine sich erholende Bounce- oder Beschwerderate hebt sie nicht automatisch auf, es gibt keine automatische Aufhebung.
- Die Owner und Admins des Workspace erhalten sofort nach dem Setzen der Sperre eine E-Mail.
Bewährte Methoden
- Bereinigen Sie Ihre Listen: validieren Sie E-Mail-Adressen vor dem Versand mit der E-Mail-Validierung. Entfernen Sie Adressen, die konsequent bouncen.
- Überwachen Sie Bounce-Kategorien: ein Anstieg bei
content_rejected-Bounces kann auf ein Inhaltsproblem hinweisen, nicht auf ein Listenqualitätsproblem. - Versuchen Sie permanente Bounces nicht erneut: permanente Bounces sind endgültig. Erneute Versuche verschwenden Kontingent und schaden der Reputation.
- Beobachten Sie Muster bei temporären Bounces: wiederholte
mailbox_full-Bounces von derselben Domain können auf ein Problem auf Anbieterebene hinweisen. - Nutzen Sie das Zustellbarkeits-Dashboard: verfolgen Sie Bounce-Raten nach Anbieter, um domainspezifische Probleme frühzeitig zu erkennen.
Nächste Schritte
- Unterdrückungen: Unterdrückungsliste verwalten
- Zustellbarkeitsübersicht: Absender-Score und Trends überwachen
- Webhook-Ereignisse:
message.bounced-Ereignisse empfangen