alle Anleitungen

// so behebst du es

Postmark-Fehler 406 „Inactive recipient“: so behebst du es

Postmark liefert ErrorCode 406, wenn ein Empfänger gebounct ist, sich beschwert hat oder unterdrückt wurde. Finde den Grund und wann du ihn reaktivieren kannst.

Was das bedeutet

Postmark hat den Versand verweigert, weil mindestens ein Empfänger im verwendeten Message Stream als inaktiv markiert ist. Die API-Antwort sieht meist so aus:

{
  "ErrorCode": 406,
  "Message": "You tried to send to recipient(s) that have been marked as inactive. Found inactive addresses: alice@example.com. Inactive recipients are ones that have generated a hard bounce, a spam complaint, or a manual suppression."
}

Der HTTP-Status ist 422. Beim Batch-Endpunkt ist die Anfrage selbst erfolgreich, und jede Nachricht in der Antwort hat ihren eigenen ErrorCode; prüfe also jedes Ergebnis, nicht nur den HTTP-Status. Manche Bibliotheken werfen eine eigene Exception (zum Beispiel InactiveRecipientsError im Node.js-Client).

Inaktive Adressen stehen im Tab Suppressions jedes Message Streams. Eine Unterdrückung in deinem Transactional Stream gilt nicht für deinen Broadcast Stream, und umgekehrt.

Warum das passiert

Postmark markiert eine Adresse aus einem von vier Gründen als inaktiv:

  • Hard Bounce: Der empfangende Server hat gemeldet, dass die Adresse nicht existiert oder keine E-Mails empfangen kann.
  • Spam-Beschwerde: Die Person hat auf „Spam melden“ geklickt, und ihr Anbieter hat die Beschwerde zurückgeschickt.
  • Abmeldung (vor allem in Broadcast Streams): Die Person hat den Abmeldelink benutzt.
  • Manuell hinzugefügt: Jemand aus deinem Team oder dein Code hat die Adresse zur Unterdrückungsliste hinzugefügt.

Das ist dasselbe Prinzip wie Mailguns 605 „previously bounced address“: Der Anbieter schützt deine Reputation, indem er nicht an Adressen sendet, die schon fehlgeschlagen sind.

So prüfst du es

  1. Öffne in Postmark den Server und dann den Message Stream, den dein Code verwendet (zum Beispiel „Default Transactional Stream“).
  2. Öffne den Tab Suppressions und suche nach der Adresse. Der Grund (Hard Bounce, Spam Complaint, Manually Added, Unsubscribe) und das Datum werden angezeigt.
  3. Bei einem Hard Bounce öffne den zugehörigen Bounce im Tab Activity und lies die ursprüngliche SMTP-Antwort. „User unknown“ heißt, dass die Adresse tot ist. Ein volles Postfach, ein deaktiviertes Konto oder eine Richtlinien- oder Spam-Sperre heißt, dass die Adresse vielleicht in Ordnung ist. Siehe Bounce „552 5.2.2“: Postfach voll für einen häufigen Fall.
  4. Erwähnt der Bounce Spam oder eine Sperre, sende vom selben Postmark-Server einen Test an die Adresse auf der Startseite von Delivmail und lies im Bericht die Abschnitte zu Authentifizierung und Blacklists.

So behebst du es

Hard Bounce einer Adresse, die wieder funktioniert

Nur wenn du guten Grund zur Annahme hast, dass das Postfach jetzt funktioniert (die Person hat es dir gesagt, der Tippfehler wurde korrigiert, das volle Postfach wurde geleert): Suche die Adresse im Tab Suppressions und klick auf Reactivate. Sie wird sofort aktiv. Du kannst auch die Suppressions-API („Delete a suppression“) aus deinem Code nutzen. Manche Bounce-Typen lassen sich nicht reaktivieren; Postmark lehnt die Anfrage dann ab.

Postmark sendet Nachrichten, die fehlgeschlagen sind, während die Adresse inaktiv war, nicht erneut. Schick sie noch einmal.

Hard Bounce einer toten Adresse

Reaktiviere sie nicht. Korrigiere oder entferne die Adresse in deiner Datenbank und bitte den Nutzer um eine neue.

Spam-Beschwerde

Eine Beschwerde kannst du nicht selbst reaktivieren. Meldet sich die Person bei dir und möchte deine E-Mails wieder erhalten, bittet Postmark dich, den Support mit der Adresse zu kontaktieren. Sind Beschwerden häufig, lies zu viele Leute markieren deine E-Mails als Spam.

Abmeldung oder manuelle Unterdrückung

Reaktiviere nur, wenn die Person wirklich darum gebeten hat, wieder Nachrichten zu erhalten. Prüfe, warum dein Code oder ein Kollege eine manuelle Unterdrückung hinzugefügt hat, bevor du sie entfernst.

Behandle 406 in deinem Code

  • Fang den Fehler 406 ab, protokolliere die Adresse und markiere sie in deiner Datenbank als unzustellbar, statt es erneut zu versuchen. Ein neuer Versuch funktioniert nie.
  • Zeige dem Nutzer bei Passwort-Resets und ähnlichen E-Mails eine Meldung wie „Wir können an diese Adresse nicht senden, bitte prüfe sie oder nutze eine andere“.
  • Nutze die Webhooks von Postmark für Bounces und Spam-Beschwerden, um deine eigene Liste synchron zu halten.
  • Ist ein Empfänger einer Nachricht mit mehreren Empfängern inaktiv, kann die ganze Nachricht abgelehnt werden. Sende transaktionale E-Mails an jeweils einen Empfänger.

Prüfe, ob es behoben ist

Sende nach dem Reaktivieren eine Nachricht an die Adresse und prüfe ihren Status im Tab Activity: „Delivered“ heißt, dass das Postfach wieder E-Mails annimmt. Bounct sie wieder, unterdrückt Postmark sie erneut, und der neue Bounce-Text sagt dir, warum. War der ursprüngliche Grund eine Sperre gegen deinen Versand, mach einen neuen Delivmail-Test und behebe jede fehlgeschlagene Prüfung, bevor du wieder sendest.

Prüfe, ob es behoben ist

DNS-Änderungen können ein paar Minuten bis einige Stunden dauern. Sende danach eine neue Test-E-Mail oder scanne deine Domain erneut.

Ähnliche Anleitungen