Dev Life

Sinch Mailgun E-Mail-APIs mit Postman testen

Sinch Mailgun ist ein E-Mail-Service für Entwickler, der eine RESTful-API für den massenhaften Versand, Empfang und das Tracking von Nachrichten bietet. Um mit diesen Endpunkten zu experimentieren oder Fehler bei einer Integration zu beheben, ohne Code schreiben zu müssen, verwenden Sie Postman, ein beliebtes API-Test-Tool. Kürzlich in einem anderen Artikel, haben wir darüber gesprochen, wie man Sinch […]
Bild für Sinch Mailgun E-Mail-APIs mit Postman testen

Sinch Mailgun ist ein E-Mail-Service für Entwickler, der eine RESTful-API für den massenhaften Versand, Empfang und das Tracking von Nachrichten bietet. Um mit diesen Endpunkten zu experimentieren oder Fehler bei einer Integration zu beheben, ohne Code schreiben zu müssen, verwenden Sie Postman, ein beliebtes API-Test-Tool. Kürzlich in einem anderen Artikel, haben wir darüber gesprochen, wie man Sinch Mailgun in Postman integriert. In diesem Artikel konzentrieren wir uns mehr auf die Nutzung.


Postman bietet eine schnelle und visuelle Möglichkeit, mit APIs zu experimentieren. Das macht es ideal für das Debugging und Lernen oder zur Validierung von Anmeldedaten, ohne Code schreiben zu müssen. In dieser Anleitung verwenden Sie Postman, um die Sinch Mailgun E-Mail-API zu testen und Fehler zu beheben.

Voraussetzungen

Bevor Sie loslegen, benötigen Sie Folgendes:

Ein Sinch Mailgun Konto: Sie benötigen eine aktive Domain, oder Sie verwenden die Sandbox-Domain. Sie benötigen außerdem einen API-Schlüssel.
Die Postman-App: Zum Herunterladen und installieren Sie die Postman-App. Grundkenntnisse im Umgang mit Anfragen und Umgebungen sind hilfreich, aber nicht zwingend erforderlich.

Postman einrichten

Importieren Sie zunächst die Sinch Mailgun Sammlung und Umgebung, damit Sie sofort mit dem Testen beginnen können. Klicken Sie in Postman auf die Schaltfläche Importieren und verwenden Sie den Sammlungslink , um die Sinch Mailgun Sammlung hinzuzufügen:


Importing the Sinch Mailgun collection


Alternativ erstellen Sie einen Fork der Sinch Mailgun API aus dem Public API Network. Stellen Sie sicher, dass Sie die passende Sinch Mailgun Umgebung einbeziehen:
Erstellung eines Forks der Sinch Mailgun Sammlung und Import der Umgebung


Als Nächstes müssen Sie die Umgebungsvariablen konfigurieren. Öffnen Sie die Sinch Mailgun Umgebung, indem Sie das Zahnrad-Symbol und dann Umgebungen verwalten > Mailgun auswählen. Geben Sie Ihre Daten genau wie gezeigt ein:

VARIABLEBESCHREIBUNG
API_KEYIhr Sinch Mailgun API-Schlüssel)
BASE_URLhttps://api.mailgun.net/v3 (US) oder https://api.eu.mailgun.net/v3 (EU)
mydomainIhre Domain oder Sandbox-Domain (z. B. sandbox12345.mailgun.org)
token
Leer lassen. Dies wird von der Sammlung verwendet, um die Basic Auth automatisch zu generieren.


Lassen Sie token leer. Die Sammlung generiert es mithilfe eines Pre-Request-Skripts automatisch aus Ihrem API_KEY und übernimmt die Authentifizierung für Sie. Stellen Sie sicher, dass Sie im Dropdown-Menü für die Umgebung Sinch Mailgun auswählen:
Sinch Mailgun Umgebungsvariablen


Um die Einrichtung zu überprüfen, öffnen Sie im Ordner Domains der Sammlung Get domains und klicken Sie auf Send. Eine erfolgreiche Antwort sieht wie folgt aus:

                                

                                    {
  "total_count": 1,
  "items": [
    {
      "created_at": "Sat, 06 Jan 2024 10:27:15 GMT",
      "id": "65992b03de",
      "is_disabled": false,
      "name": "sandbox93abbcf3db544a.mailgun.org",
      "state": "active"
    }
  ]
}
                                
                            


Falls Sie dies sehen, ist Ihre Postman-Umgebung bereit. Falls nicht, überprüfen Sie Ihren API-Schlüssel und den Wert für mydomain.

Sinch Mailgun APIs mit Postman testen


Nachdem Sie nun alles eingerichtet haben, lassen Sie uns einige häufige Sinch Mailgun API-Szenarien erkunden. Wir behandeln einige Grundlagen, wie den Versand einer E-Mail und das Abrufen von Mailinglisten. Danach lernen Sie, wie Sie E-Mail-Adressen validieren und Ereignisprotokolle abrufen.

Eine Nachricht mit Sinch Mailgun versenden

Das Testen der Zustellung von E-Mails bestätigt, dass Ihr API-Schlüssel und Ihre Domain korrekt eingerichtet sind. Öffnen Sie in der Sinch Mailgun API-Sammlung in Postman die Anfrage Send message request unter Messages.

Konfiguration von URL und Authentifizierung


Die Anfrage verwendet Ihre Umgebungsvariablen, um die URL zu bilden:
POST https://api.mailgun.net/v3/{{mydomain}}/messages
Postman fügt eine Kopfzeile Authorization: Basic {{token}} hinzu. Dies verschlüsselt Ihren API-Schlüssel.
Um die Formulardaten zu definieren, wechseln Sie zur Registerkarte Body und wählen Sie form-data. Mindestens benötigen Sie Folgendes:
from=postmaster@{{mydomain}}

to=youremail@example.com

subject=Hallo von Mailgun über Postman

text=Dies ist eine Test-E-Mail, die mit Postman gesendet wurde


A Postman screenshot for sending a successful email


Diese Felder stellen sicher, dass die Nachricht korrekt adressiert ist, Inhalt enthält und bestätigen, dass Ihre Domain und Ihr API-Schlüssel ordnungsgemäß eingerichtet sind. Falls Sie eine Sandbox-Domain verwenden, muss die to-Adresse  autorisiert werden  in Ihrem Sinch Mailgun Dashboard. Um ohne tatsächliche Zustellung zu testen, fügen Sie Folgendes hinzu:
o:testmode=yes
Klicken Sie nun auf Send. Eine erfolgreiche Antwort sieht wie folgt aus:
{ "id": "", "message": "Queued. Vielen Dank." }
Die id ist die Kennung Ihrer Nachricht. Verwenden Sie diese ID mit der Events API, um den Zustellstatus zu verfolgen.

Mailinglisten mit Postman abrufen

Mit Sinch Mailgun gruppieren Sie Empfänger unter Mailinglisten-Adressen, wie z. B. newsletter@yourdomain.com. Verwenden Sie Postman, um Ihre Listen und deren Mitglieder zu bestätigen.
Um alle Mailinglisten aufzulisten, öffnen Sie Get mailing lists im Ordner Mailing Lists und senden Sie eine GET-Anfrage an Folgendes:
{{BASE_URL}}/lists
Eine gültige Antwort sieht wie folgt aus:

                                

                                    {
  "total_count": 1,
  "items": [
    {
      "address": "developers@mydomain.net",
      "name": "Developers",
      "description": "Describe the mailing list",
      "access_level": "readonly",
      "members_count": 2,
      "created_at": "Tue, 25 June 2025 20:50:27 -0000"
    }
  ]
}
                                
                            


Das items-Array enthält die E-Mail-Adresse, den Namen, die Zugriffsebene und die Anzahl der Abonnenten jeder Liste. Ein leeres Array zeigt an, dass keine Mailinglisten vorhanden sind. Weitere Informationen zu diesem Endpunkt finden Sie in der Sinch Mailgun API-Dokumentation.
Um die Mitglieder einer bestimmten Mailingliste aufzulisten, duplizieren Sie die vorherige Anfrage in Postman oder verwenden Sie Get list members. Passen Sie dann die URL wie folgt an:
{{BASE_URL}}/lists/newsletter@yourdomain.com/members
Dies liefert eine Antwort, die die E-Mail-Adresse jedes Mitglieds und seinen Abonnementstatus zeigt:

                                

                                    {
  "total_count": 2,
  "items": [
    {
      "address": "user1@example.com",
      "name": "User One",
      "subscribed": true
    },
    {
      "address": "user2@example.com",
      "name": "User Two",
      "subscribed": true
    }
  ]
}
                                
                            


Dies überprüft, ob Ihre Mailinglisten und Abonnenten korrekt konfiguriert sind, und hilft wiederum zu bestätigen, dass die Listen gefüllt sind, bevor Kampagnen versendet werden.

E-Mail-Adressen mit Postman validieren


Die Sinch Mailgun  E-Mail-Validierungs-API ermöglicht es Ihnen zu prüfen, ob eine Adresse echt ist, bevor Sie an sie senden. Dies reduziert Bounces und hält Ihre Listen sauber. In diesem Abschnitt konzentrieren Sie sich auf die Validierung von Einzeladressen, aber eine Massenvalidierung mit einem CSV- oder JSON-Upload ist ebenfalls möglich.
Um die Anfrage zu erstellen, starten Sie eine neue GET-Anfrage in Postman und geben Sie Folgendes ein:
https://api.mailgun.net/v4/address/validate?address=test@example.com


Klicken Sie auf Send. Bei einer gültigen Adresse sehen Sie Folgendes:

                                

                                    {
  "address": "existingemail@realdomain.com",
  "is_disposable_address": false,
  "is_role_address": false,
  "reason": [],
  "result": "deliverable",
  "risk": "low"
}
                                
                            
                                

                                    echo "test";
                                
                            


Falls das Postfach nicht existiert, sehen Sie dies:

                                

                                    {
  "address": "nonexistentemail@realdomain.com",
  "is_disposable_address": false,
  "is_role_address": false,
  "reason": ["mailbox_does_not_exist"],
  "result": "undeliverable",
  "risk": "high"
}

                                
                            


Das Feld result zeigt, ob Sinch Mailgun die Adresse als zustellbar erachtet. Das Array reason erklärt Fehler und Risiken und hilft Ihnen, ungültige E-Mails herauszufiltern, um Bounce-Raten zu reduzieren.
Für die gleichzeitige Überprüfung mehrerer Adressen unterstützt Sinch Mailgun einen Endpunkt zur Massenvalidierung, der das Hochladen von CSV- oder JSON-Dateien akzeptiert; siehe offizielle Dokumentation für weitere Informationen.

Ereignisprotokolle mit Postman abrufen


Nach dem Versand einer E-Mail überprüfen Sie, was passiert ist. Die Sinch Mailgun  Events API hilft Ihnen dabei nachzuverfolgen, wie die Nachricht verarbeitet wurde. Verwenden Sie es, um zu sehen, ob eine E-Mail accepted, delivered, opened, bounced oder rejected wurde.
Öffnen Sie Get Events im Ordner Events. Stellen Sie sicher, dass Ihre Sinch Mailgun Umgebung aktiv ist, und klicken Sie dann auf Send. Der Endpunkt für die Anfrage sollte wie folgt aussehen:
GET /v3/{{mydomain}}/events
Die Antwort enthält ein items-Array mit Ereignisobjekten. Jedes Element im items-Array enthält Details zu einem bestimmten Ereignis. Hier ist ein Beispiel für ein abgelehntes Ereignis von einer Sandbox-Domain:

                                

                                    {
  "event": "rejected",
  "id": "OMTXD3-sSmKIQa1gSKkYVA",
  "reject": {
    "reason": "Sandbox subdomains are for test purposes only. Please add your own domain...",
    "description": ""
  },
  "message": {
    "headers": {
      "to": "joan@example.org",
      "from": "john@sandbox12345.mailgun.org",
      "subject": "Test Subject",
      "message-id": "20180622220256.1.B31A451A2E5422BB@sandbox12345.mailgun.org"
    },
  }
}
                                
                            


Diese Antwort zeigt, dass die Nachricht abgelehnt wurde, weil sie über eine Sandbox-Domain an einen nicht autorisierten Empfänger gesendet wurde. Sie sehen auch andere Ereignisse:
"accepted": Sinch Mailgun hat die Nachricht empfangen und in die Warteschlange eingereiht.
"delivered": Die Nachricht wurde an den Server des Empfängers zugestellt.
"failed": Die Zustellung ist aufgrund eines Serverfehlers, eines DNS-Problems oder eines anderen Problems fehlgeschlagen.
"opened": Der E-Mail-Client des Empfängers hat das unsichtbare Tracking-Pixel von Sinch Mailgun ausgelöst.
\"bounced\" – Der Server des Empfängers hat die Nachricht abgelehnt. Überprüfen Sie das Feld severity, um zwischen weichen (temporären) und harten (permanenten) Bounces zu unterscheiden.

Weitere Details finden Sie in der Sinch Mailgun Dokumentation zur Ereignisreferenz.

Um Ereignisse einfacher zu überprüfen, filtern Sie diese. Postman ermöglicht es Ihnen, Abfrageparameter in der Registerkarte Params hinzuzufügen. Hier sind einige nützliche Optionen:
event=delivered gibt nur zugestellte Nachrichten zurück.
message-id= filtert nach einer bestimmten Nachricht. Sie finden diese ID in der Antwort auf die Anfrage Send message.

Kopieren Sie beispielsweise nach dem Versand einer Test-E-Mail deren id aus der Versandantwort. Filtern Sie dann die Ereignisse wie folgt:
GET /v3/{{mydomain}}/events?message-id=
Diese Schritte helfen Ihnen, den Status jeder Nachricht nachzuverfolgen. Für eine vollständige Liste der Ereignistypen und -felder, sehen Sie sich die Sinch Mailgun Dokumentation zur Ereignisreferenz. Diese Analysen sind besonders wichtig bei der Nutzung von Massen-E-Mail-Lösungen wie Sinch Mailgun, da sie helfen, die Zustellbarkeit zu überwachen und Probleme frühzeitig zu erkennen. Dies ist entscheidend, um sicherzustellen, dass Ihre Domain eine starke Absenderreputation behält.

Wichtiger Hinweis zur Abkündigung: Der Endpunkt /events wird zugunsten der neueren Logs API eingestellt. Obwohl die aktuelle API noch funktionsfähig ist, wird sie möglicherweise in zukünftigen Versionen entfernt. Die Logs API hat eine ähnliche Struktur und lässt sich auf dieselbe Weise testen.

Tests in Postman automatisieren und skripten


Bisher haben Sie Postman verwendet, um die Sinch Mailgun API manuell zu testen. Dies ist nützlich für schnelle Überprüfungen, aber Postman unterstützt auch die Automatisierung mithilfe von JavaScript-basierten Testskripten. Sie werden nach jeder Anfrage ausgeführt und dienen dazu, Antworten zu validieren oder Werte zwischen Anfragen zu übergeben. Postman bündelt Chai für BDD-artige Assertions.
Diese Funktion ermöglicht es Ihnen, Test-Suites zu erstellen, die sich wie leichtgewichtige QA-Workflows verhalten. Die Automatisierung von Tests hilft dabei, E-Mail-Workflows ohne manuellen Aufwand zu validieren.

Automatisierte Assertions hinzufügen


Falls Sie den Endpunkt Send message testen möchten, verwenden Sie die Registerkarte Scripts in Postman, um zu überprüfen, ob die Anfrage erfolgreich war:
Tests und Ergebnisse


Fügen Sie das folgende Skript in der Registerkarte Scripts hinzu:
pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Sinch Mailgun queued the message successfully", function () { const resData = pm.response.json(); pm.expect(resData.message).to.eql("Queued. Thank you."); });

Dieses Skript prüft auf einen erfolgreichen HTTP-Status und bestätigt, dass die Antwort von Sinch Mailgun die erwartete Nachricht enthält. Falls einer der Tests fehlschlägt, markiert Postman die Anfrage im Bereich mit den Testergebnissen als fehlgeschlagen.

Daten zwischen Anfragen übergeben

Sie verketten Anfragen, indem Sie Werte aus einer Antwort speichern und in einer anderen wiederverwenden. Beispielsweise möchten Sie nach dem Versenden einer E-Mail vielleicht deren id erfassen und verwenden, um die Events API abzufragen.
Fügen Sie in der Anfrage Send Message request unter der Registerkarte Tests Folgendes hinzu:
const resData = pm.response.json(); pm.environment.set("sent_message_id", resData.id);
Fügen Sie nun in der Anfrage Get Events request einen Abfrageparameter hinzu:
message-id={{sent_message_id}}
Wenn Sie die Sammlung ausführen, ersetzt Postman automatisch die gespeicherte Nachrichten-ID. Fügen Sie auch Tests hinzu, um die Antwort zu überprüfen:
pm.test(\"At least one event is present for the sent message\", function () { const events = pm.response.json().items; pm.expect(events.length).to.be.above(0); });
Dieser Workflow ist besonders nützlich zur Überprüfung der Zustellergebnisse bei Regressionstests.

Wann Postman-Skripte sinnvoll sind

Postman-Skripte erweitern Ihre manuellen Tests zu wiederholbaren Workflows, ohne dass ein vollständiges CI-System erforderlich ist. Indem Sie Assertions in der Registerkarte Scripts schreiben, überprüfen Sie Antworten automatisch und übergeben Daten zwischen Anfragen.
Wenn Sie bereit für die Automatisierung sind, exportieren Sie die Sammlung und führen Sie sie mit der Newman-CLI als Teil eines einfachen Build- oder Smoke-Test-Jobs aus. Dieses Setup ist ideal für frühe QA, Rapid Prototyping und das Teilen von API-Prüfungen in Ihrem Team. Weitere Skriptbeispiele und Muster finden Sie in Postmans Leitfaden für Testbeispiele.

Häufige Probleme behandeln

Das Testen von Sinch Mailgun in Postman kann manchmal zu Fehlern führen. Hier ist eine kompakte Liste häufiger Probleme und deren Behebung:


401/403-Authentifizierungsfehler: Stellen Sie sicher, dass Sie den privaten API-Schlüssel verwenden, nicht den öffentlichen Validierungsschlüssel. Postman sollte HTTP Basic Auth mit api als Benutzername und Ihrem Schlüssel als Passwort verwenden. Kopieren Sie ihn im Zweifelsfall erneut aus Ihrem Sinch Mailgun Dashboard.


400 Bad Request: Dieses Problem bedeutet normalerweise, dass ein Parameter fehlt oder falsch ist. Sinch Mailgun teilt Ihnen in der Antwort oft mit, was schiefgelaufen ist. Überprüfen Sie erforderliche Felder wie to, from und subject und stellen Sie sicher, dass keine Tippfehler vorliegen.


404 Not Found: Dieser Fehler wird höchstwahrscheinlich durch eine falsche oder fehlende Domain in der URL verursacht (z. B. {{mydomain}} ist leer oder falsch). Es besteht auch die Möglichkeit, dass Sie eine Anfrage an einen ungültigen API-Endpunkt gestellt haben. Stellen Sie sicher, dass der Endpunkt und Ihre Umgebungsvariable mit einer gültigen Domain in Ihrem Sinch Mailgun Konto übereinstimmen.


429 Too Many Requests: Sie erreichen ein Ratenlimit. Reduzieren Sie die Geschwindigkeit Ihrer Anfragen oder warten Sie, bis Ihr Kontingent zurückgesetzt wird. Kostenlose oder nicht verifizierte Konten haben niedrigere Limits, insbesondere bei der Validierung und beim Versand. Rate Limiting (auch bekannt als Drosselung) hilft, Missbrauch zu verhindern, und gewährleistet eine faire Ressourcennutzung für alle. Sinch Mailgun setzt dies durch, um den Dienst zuverlässig zu halten.


5xx Server Errors: Dies sind Probleme aufseiten von Sinch Mailgun. Warten Sie und versuchen Sie es später noch einmal. Falls das Problem weiterhin besteht, überprüfen Sie die Status-Seite von Sinch Mailgun oder kontaktieren Sie den Support.

Antworten lesen: Die JSON-Antworten von Sinch Mailgun können ausführlich sein. Verwenden Sie die Ansichten \“Raw\“ oder \“Pretty\“ von Postman, um tief verschachtelte Felder zu erkunden. Verwenden Sie auch console.log() in der Registerkarte Tests, um Daten zu untersuchen, wie hier:
const events = pm.response.json().items; events.forEach((e) => console.log(e.event));
Suchen Sie im Zweifelsfall nach der genauen Fehlermeldung in der Sinch Mailgun Dokumentation oder in Foren. Die Fehlercodes sind aussagekräftig und die Lösung ist in der Regel nur einen Klick entfernt.

Zusammenfassung


Postman bietet eine praktische Möglichkeit zur Interaktion mit der  Sinch Mailgun API. In dieser Anleitung haben Sie einige der häufigsten Anwendungsfälle kennengelernt – den Versand von E-Mails, das Abrufen von Mailinglisten, die Validierung von E-Mail-Adressen und die Überprüfung von Ereignissen.
Für Entwicklung und QA-Teams ist Postman ein zuverlässiges Diagnosetool, das es einfach macht, Anmeldedaten zu testen und das Verhalten in der Produktion nachzubilden. Seine Skripting-Funktionen und die flexible Unterstützung von Umgebungen lassen sich nahtlos in bestehende Workflows integrieren. Verwenden Sie es, um Integrationsdetails vor dem Deployment zu bestätigen und erneut, falls etwas schiefgeht. Es ist ein schneller und zuverlässiger Weg, um die Kontrolle über Ihre E-Mail-Workflows zu behalten.

Bleiben Sie informiert! Erhalten Sie jede Woche wertvolle Inhalte direkt in Ihr Posteingang.
Ja, ich möchte den Mailgun-Newsletter erhalten. Ich bin mit dem Erhalt des Newsletters einverstanden und weiß, dass ich mich jederzeit unkompliziert wieder abmelden kann.

Jeden Monat neu: Ihr Mailgun-Newsletter wartet in Ihrem Postfach!