E-Mails mit Mailjet senden

Mailjet ist ein globaler E-Mail-Dienst eines Drittanbieters, der App Engine-Nutzern einen kostenlosen Tarif mit 25.000 E-Mails pro Monat bietet. Außerdem bietet Mailjet Folgendes:

  • Eine API, eine Benutzeroberfläche und ein SMTP-Relay für Transaktions- und Marketing-E-Mails
  • Compliance mit europäischen Datenschutzrichtlinien
  • E-Mail- und Zustellbarkeitsfunktionen, wie etwa anpassbare Prioritätseinstellungen und automatisierte Drosselungsverwaltung
  • API-Ressourcenbibliothek in Go, PHP, Node.js, Java, Python, Ruby zur Verwaltung von Unterkonten, Authentifizierung, Kontakten, Kampagnen, benutzerdefinierten Nutzlasten, Statistiken, Echtzeitereignissen und Parsing über die Event API
  • Integriertes MJML-Framework zum Erstellen responsiver HTML-E-Mail-Vorlagen
  • Rund um die Uhr Support in mehr als vier Sprachen
  • Möglichkeit, E-Mails von anderen Domains als gmail.com zu senden

Vorbereitung

Bevor Sie E-Mails mit Mailjet senden:

  1. Erstellen Sie ein Mailjet-Konto. Als Google App Engine-Entwickler können Sie mit 25.000 kostenlosen E-Mails pro Monat beginnen.
  2. Fügen Sie in Mailjet die Absender-E-Mail-Adresse hinzu und überprüfen Sie sie.
  3. Notieren Sie sich Ihren API-Schlüssel und Ihr geheimes Kennwort aus Ihren Mailjet SMTP-Einstellungen.
  4. Wählen Sie ein Google Cloud Platform-Projekt aus oder erstellen Sie eines.

    Zur Seite "Ressourcen verwalten"

Einrichten

Verwenden Sie den Python-Wrapper für die Mailjet API, um E-Mails von Ihrer Anwendung zu senden.

  1. Installieren Sie die Mailjet-Bibliothek. Beispielsweise können Sie Folgendes in Ihre requirements.txt-Datei einfügen:

    Flask==0.12.2
    requests==2.18.4
    requests-toolbelt==0.8.0
    mailjet-rest==1.3.0
    

    Weitere Informationen zum Installieren unterstützter Bibliotheken finden Sie unter Integrierte Bibliotheken verwenden.

  2. Konfigurieren Sie in der Datei app.yaml die Mailjet-Einstellungen wie den API-Schlüssel, das Secret und die E-Mail-Adresse des Absenders:

    env_variables:
        MAILJET_API_KEY: your-mailjet-api-key
        MAILJET_API_SECRET: your-mailjet-api-secret
        MAILJET_SENDER: your-mailjet-sender-address
  3. Importieren Sie in Ihrem Anwendungscode die Mailjet-Python-Bibliothek mit import und fügen Sie die Schlüssel hinzu:

    import mailjet_rest
    import requests_toolbelt.adapters.appengine
    
    # Use the App Engine requests adapter to allow the requests library to be
    # used on App Engine.
    requests_toolbelt.adapters.appengine.monkeypatch()
    
    MAILJET_API_KEY = os.environ['MAILJET_API_KEY']
    MAILJET_API_SECRET = os.environ['MAILJET_API_SECRET']
    MAILJET_SENDER = os.environ['MAILJET_SENDER']

E-Mails senden

So senden Sie eine Nachricht in Ihrem Anwendungscode:

  1. Erstellen Sie einen neuen Mailjet-Client.

  2. Geben Sie die Details und den Inhalt der Nachricht ein, einschließlich E-Mail-Adresse und Name des Absenders, Betreff, Nachrichtentext und Empfänger.

  3. Rufen Sie die Serverantwort ab, um den Nachrichtenstatus zu überprüfen.

Beispiel:

def send_message(to):
    client = mailjet_rest.Client(
        auth=(MAILJET_API_KEY, MAILJET_API_SECRET), version='v3.1')

    data = {
        'Messages': [{
            "From": {
                "Email": MAILJET_SENDER,
                "Name": 'App Engine Standard Mailjet Sample'
            },
            "To": [{
                "Email": to
            }],
            "Subject": 'Example email.',
            "TextPart": 'This is an example email.',
            "HTMLPart": 'This is an <i>example</i> email.'
        }]
    }

    result = client.send.create(data=data)

    return result.json()

Statistiken

Die Antwortnutzlast eines API-Aufrufs zum Senden via Mailjet stellt eine MessageID bereit. Mit der MessageID können Sie auf Informationen und Statistiken zu der Nachricht zugreifen.

Mit der GET-Operation der Mailjet API zu /message werden grundlegende Informationen zu einer Nachricht zurückgegeben, z. B. Absender, Empfänger und Größe des Nachrichtentexts. Außerdem wird der aktuelle Status der Nachricht zurückgegeben, z. B. ob sie erfolgreich gesendet wurde. Weitere Informationen zu Nachrichtenstatistiken, einschließlich beispielhafte API-Antworten, finden Sie im Handbuch zur Mailjet API.

Event API

Die Mailjet Event API bietet Echtzeit-Benachrichtigung über HTTP-Anfragen (Webhooks) für alle Ereignisse im Zusammenhang mit den E-Mails, die Sie gesendet haben, z. B. wenn Nachrichten gesendet oder geöffnet werden. Diese Ereignisbenachrichtigung funktioniert für alle Arten von Nachrichten, von Transaktionsnachrichten bis zu Marketingkampagnen.

Verwenden Sie die Event API, um bestimmte Aktionen effizient auszuführen, z. B. das Logging von Marketingnachrichten, die an Ihre Kunden gesendet wurden, oder die Aktualisierung von Kontakten in Ihrem CRM-System, die Abos gekündigt haben. Anstatt die Mailjet API mehrmals am Tag abzufragen, werden die Daten so weit wie möglich in Echtzeit übertragen.

Sie können Ereignisse auch gruppieren. Dies ist nützlich, wenn größere Datenvolumen gesendet werden. Weitere Informationen finden Sie in der Dokumentation zu Mailjet.

Parse API für eingehende E-Mails

Sie können mit Mailjet auch E-Mails empfangen und parsen sowie den Inhalt an einen Webhook weiterleiten lassen. Mailjet organisiert alle Informationen, damit Sie diese in Ihrem CRM-System oder einer Datenbank speichern können.

Wie die Event API ist auch die Parse API ein Webhook, von dem Daten an Ihre Anwendung gesendet werden, sobald ein neues Ereignis vorliegt. E-Mails werden im JSON-Format mit Absender, Empfänger, Betreff, Nachrichtentext und Header als separate Felder an Ihre Anwendung gesendet.

Die Parse API-Dokumentation enthält weitere Details, darunter Informationen zu zusätzlichen Feldern, die mit jeder E-Mail gesendet werden, sowie Anweisungen für die Einrichtung und Nutzung von DNS.

E-Mails von Google Compute Engine senden

Wenn Ihr Projekt für Back-End-Aufgaben, die E-Mails senden müssen, Compute Engine nutzt, können Sie auch aus Compute Engine E-Mails mit Mailjet senden.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

App Engine-Standardumgebung für Python 2