Product

Wöchentliches Produkt-Update: Bessere Verarbeitung von Nicht-ASCII-Zeichen im Routing

Routing ist eine unserer beliebtesten Funktionen, da Sie damit all die Antworten auf Ihre Marketing- und Transaktions-E-Mails verwalten können.
Bild für Wöchentliches Produkt-Update: Bessere Verarbeitung von Nicht-ASCII-Zeichen im Routing

Diese Woche haben wir eine Verbesserung eingeführt – na gut, wir haben einen Fehler behoben – in unserer API für das E-Mail-Parsing. Diese ist Teil unseres Systems zur Verarbeitung eingehender E-Mails namens Routen. Routing ist eine unserer beliebtesten Funktionen, da Sie damit all die Antworten auf Ihre Marketing- und Transaktions-E-Mails verwalten können. Einige Kunden nutzen diese Funktion zur Verarbeitung eingehender E-Mails auch für beeindruckende Dinge, indem sie beispielsweise ihren eigenen Kunden ermöglichen, per E-Mail Aufgaben in einer Projektmanagement-App zu erstellen oder per E-Mail an einem Online-Diskussionsforum teilzunehmen.

Was uns zum besseren Support für Nicht-ASCII-Zeichen führt

Wenn Nutzer Mailgun anweisen, ihre eingehenden E-Mails zu parsen und per HTTP an ihre App zu senden, parsen wir Zitate, Signaturen sowie Anhänge und übermitteln diese an einen Webhook. Falls eine Nachricht keinen HTML-Teil enthält (z. B. wenn sie nur als reiner Text gesendet wurde), versuchen wir dennoch, einen HTML-Teil aus dem bereitgestellten Textteil zu erstellen und diesen als „stripped-html“-Parameter zu übermitteln (wir erstellen auch einen „stripped-text“-Teil, wenn eine reine HTML-E-Mail empfangen wird).

Kürzlich wurde für diesen speziellen Anwendungsfall ein Fehler entdeckt, falls der Textteil Nicht-ASCII-Zeichen enthielt. In diesem Fall wurden diese im „stripped-html“ beschädigt, sodass beispielsweise „日本語“ in „日本語“ umgewandelt wurde. Dieser Fehler ist nun behoben und Mailgun erstellt ordnungsgemäßes HTML aus Text, selbst bei Nicht-ASCII-Zeichen.

Mehr über Routing erfahren

Dies ist ein guter Zeitpunkt, um zu beleuchten, was das Routing ermöglicht, da diese Funktion äußerst leistungsstark ist. Mit dem Routing legen Sie eine Reihe von Regeln für die Verarbeitung eingehender Nachrichten fest. Genauer gesagt:

  • für welche Nachrichten Aktionen ausgeführt werden sollen (z. B. Nachrichten von einer bestimmten Person, mit einem bestimmten Betreff oder auch alle Nachrichten)
  • was Sie mit diesen Nachrichten tun möchten (z. B. an eine andere E-Mail-Adresse weiterleiten oder per POST an Ihre App senden)

Wenn Sie sich dafür entscheiden, die Nachricht an Ihre App zu übermitteln, sendet Mailgun Ihnen entweder die gesamte ungeparste MIME-Nachricht (falls Sie dies bevorzugen) oder parst diese für Sie und übermittelt die geparsten Parameter per POST. In beiden Fällen transkodieren wir die Nachricht in UTF-8, denn wir schätzen unsere Kunden.

Nachfolgend finden Sie eine Liste der geparsten Parameter, die wir bei der Nutzung von Routing per POST an Ihre App senden.

Eingehende Webhooks akzeptieren

Sie müssen Ihre App so einrichten, dass sie die geparsten Parameter empfängt. Hier ist eine kleine Flask-App, die Ihnen die Grundlagen zeigt. So steigen Sie direkt in die Nutzung von Routing ein, um eingehende Nachrichten zu verarbeiten.

                                

                                    from flask import Flask  
from flask import request  
app = Flask(__name__)

@app.route('/mailgun-tracking', methods=['GET', 'POST'])
def tracking():  
    # access some of the email parsed values:
    request.form['recipient']
    request.form['from']
    request.form['subject']

    # extended parameters
    request.form['Message-Id']
    request.form['message-headers']
    request.form['timestamp']
    request.form['body-plain']
    request.form['stripped-html']
    request.form['stripped-text']
    request.form['stripped-signature']

    return "Ok"

if __name__ == '__main__':  
    app.run(host='50.56.174.200', port=100, debug=True)

                                
                            

Und zu guter Letzt unser neuer Blog …

Wenn Sie Mailgun schon länger verfolgen, wird Ihnen auffallen, dass wir einen neuen Blog haben. Einige der Neuerungen, die Ihnen unserer Meinung nach gefallen werden:

  • er ist responsiv und auf jedem Gerät bequem lesbar
  • abonnieren Sie ihn jetzt, um Benachrichtigungen über neue Blogbeiträge zu erhalten (und absolut keine anderen unerwünschten E-Mails)
  • jeder Beitrag ist mit der zugehörigen Dokumentation verknüpft. Wenn Sie also einen Artikel darüber lesen, wie ein Kunde mit Mailgun-Routing beeindruckende Dinge umsetzt, finden Sie die passenden Dokumentationen zu diesem Thema direkt im jeweiligen Beitrag.

Wir hoffen, der neue Blog gefällt Ihnen. Lassen Sie uns wissen, was Sie denken.