Platform

Warum wird meine Nachricht angenommen, aber nicht zugestellt?

Ihre Nachricht wird angenommen, aber nicht zugestellt, weil Bird die Sendeanfrage erhalten hat, ohne eine Zustellbestätigung vom Ziel zu haben.

Erneutes Senden nach bloßer Annahme kann eine doppelte Nachricht erzeugen. Verfolgen Sie den ersten Versand über seine späteren Events, bevor Sie sich für einen erneuten Versuch entscheiden.

Bewahren Sie die Nachrichten-ID auf, die Ihre Sendeanfrage zurückgibt. Sie verbindet die ursprüngliche Annahme mit späteren Events zu dieser Nachricht.

Was passiert zwischen Annahme und Zustellung?

E-Mail durchläuft eine Vorbereitung. SMS-Nachrichten durchlaufen eine Übergabe an einen Mobilfunk-Carrier.

Sie können Ihre Bird-Sendungen über diese Event-Typen verfolgen:

KanalEventWas passiert ist
E-Mailemail.acceptedBird hat den Versand angenommen und bereitet ihn vor, einmal pro angefragtem Empfänger.
E-Mailemail.processedBird hat die Nachricht für die Zustellung an den Mailserver des Empfängers vorbereitet.
E-Mailemail.deliveredDer Mailserver des Empfängers hat die Nachricht angenommen.
SMSsms.acceptedBird hat die Sendeanfrage angenommen und zur Verarbeitung eingereiht.
SMSsms.sentBird hat die Nachricht an den Carrier übergeben.
SMSsms.deliveredDer Carrier hat die Zustellung an das Endgerät des Empfängers gemeldet.

Vergleichen Sie die Event-Zeiten in timestamp, um eine Verzögerung zu lokalisieren. Webhook-Ankunftszeiten enthalten eigene Zustellverzögerungen.

Ziehen Sie bei E-Mail die Annahmezeit von der Vorbereitungszeit ab, um die Vorbereitung innerhalb von Bird zu messen. Das Intervall nach der Vorbereitung umfasst auch die Wartezeit bis zum empfangenden Server.

Ziehen Sie bei SMS die Annahmezeit von der Carrier-Übergabezeit ab, um die Zeit vor der Übergabe zu messen. Das Intervall von der Übergabe bis zur Zustellung misst die verbleibende Zustellzeit.

Beispiel: Eine SMS-Nachricht, die um 12:00 Uhr angenommen und zwei Sekunden später übergeben wird, verbringt zwei Sekunden vor der Carrier-Übergabe. Folgt die Zustellung acht Sekunden später, beträgt die Gesamtdauer zehn Sekunden.

Warum ist die Nachricht immer noch nicht zugestellt?

Die Nachricht wartet möglicherweise noch. Ein späteres Event kann stattdessen eine fehlgeschlagene Zustellung melden.

Ein Annahme-Event allein kann diese Ergebnisse nicht unterscheiden. Lesen Sie die späteren Events für dieselbe Nachricht, bevor Sie entscheiden, ob Sie sie erneut senden.

E-Mail meldet diese Ergebnisse:

  • email.deferred bedeutet, dass die Zustellung nach einem vorübergehenden Fehler verzögert ist. Bird versucht es erneut, sodass die Nachricht später noch zugestellt werden oder bouncen kann.
  • email.bounced bedeutet, dass der empfangende Server die Zustellung abgelehnt hat.
  • email.rejected bedeutet, dass Bird die Nachricht vor einem Zustellversuch abgelehnt hat. Untersuchen Sie den Ablehnungsgrund, bevor Sie die Mailserver-Einstellungen des Empfängers ändern.

SMS verwendet andere Ergebnisse:

  • sms.undelivered meldet einen nicht permanenten Zustellfehler vom Carrier.
  • sms.failed meldet einen permanenten Zustellfehler.
  • sms.rejected bedeutet, dass Bird die Nachricht vor der Carrier-Übergabe abgelehnt hat.
  • sms.expired bedeutet, dass die Gültigkeitsdauer der Nachricht vor der Zustellung abgelaufen ist.

Lesen Sie den Fehler bei einem fehlgeschlagenen Ergebnis, um die Ursache zu identifizieren. Carrier-Filterung von SMS erklärt eine mögliche Ursache.

Gibt es einen einzigen Lebenszyklus, den ich lernen kann?

Jeder Kanal hat seine eigene Abfolge von Zustellstatus.

E-Mail-Server können einen Absender bitten, es später erneut zu versuchen. SMS-Carrier können die Zustellung einstellen, wenn eine Nachricht abläuft. Diese Ergebnisse erfordern unterschiedliche Wiederherstellungsmaßnahmen.

WhatsApp und Voice melden ebenfalls eigene Event-Typen. Ihre Event-Guides beschreiben die relevanten Status: E-Mail, SMS, WhatsApp und Voice.

Kann eine zugestellte Nachricht aufhören, zugestellt zu sein?

Eine E-Mail kann von zugestellt auf gebounced wechseln, nachdem der empfangende Mailserver einen späteren Zustellfehler meldet.

Der Server nimmt die Nachricht zunächst über SMTP an. Er kann einen Fehler separat melden, nachdem dieser Austausch beendet ist.

Bird erfasst den Bericht als email.out_of_band_bounce. Wird der Bericht als Bounce klassifiziert, wechselt der Status des Empfängers von zugestellt auf gebounced. Bei einem Hard Bounce unterdrückt Bird die Adresse zusätzlich, um spätere Sendungen zu blockieren, da der Fehler permanent ist.

Eine automatische Antwort kann in der Timeline erscheinen, ohne den Zustellstatus zu ändern. Die Klassifizierung des Berichts bestimmt, ob die frühere Annahme widerrufen wird.

Halten Sie den Zustellstatus nach einem erfolgreichen Event aktualisierbar. Webhooks können in falscher Reihenfolge eintreffen. Vergleichen Sie daher Event-Zeitstempel, bevor Sie eine Änderung anwenden, die einen neueren Status überschreiben würde.

Kurz gesagt

  1. Die Annahme bestätigt die Sendeanfrage.

    Bird beginnt nach der Annahme mit der Vorbereitung der Nachricht. Das Event bestätigt nicht den Eingang bei einem Mailserver oder Endgerät.

  2. Vorbereitung und Übergabe sind unterschiedliche Grenzen.

    E-Mail meldet die Vorbereitung mit email.processed. SMS meldet die Carrier-Übergabe mit sms.sent.

  3. Fehler haben kanalspezifische Bedeutungen.

    E-Mail kann verzögert, gebounced oder abgelehnt werden. SMS unterscheidet zwischen unzugestellt, fehlgeschlagen, abgelehnt und abgelaufen.

  4. Auf eine E-Mail-Zustellung kann ein Bounce folgen.

    Ein späterer Bounce-Bericht kann den Status eines E-Mail-Empfängers von zugestellt auf gebounced ändern. Eine automatische Antwort lässt den Zustellstatus unverändert.

Bauen Sie auf demselben Netzwerk auf.

Ein Test-API-Schlüssel steht Ihnen sofort zur Verfügung. Der Produktivbetrieb wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Ihre nächste Idee.
Bereit zur Verbindung.