Mailtrap
offiziellIntegriert mit der Mailtrap Email API.
Was kann man mit Mailtrap MCP machen?
- Transaktions-E-Mails senden — Bitte den Assistenten, eine E-Mail mit Betreff und Text- oder HTML-Inhalt zu senden, optional mit einer Vorlage und Variablen.
- Im Email Sandbox testen — Nachrichten an eine Sandbox senden und deren Inhalte, Header und Anhänge prüfen, ohne echte Empfänger zu erreichen.
- Zustellung mit Protokollen debuggen — Protokolle gesendeter E-Mails auflisten und filtern, dann eine bestimmte Nachricht öffnen, um ihren Ereignisverlauf und Zustellstatus zu prüfen.
- Versandstatistiken analysieren — Zustell-, Bounce-, Öffnungs-, Klick- und Spam-Raten für einen Zeitraum abrufen, aufgeschlüsselt nach Domain, Kategorie oder Datum.
- Vorlagen verwalten — E-Mail-Vorlagen in Ihrem Mailtrap-Konto erstellen, auflisten, aktualisieren und löschen.
- Domains und Unterdrückungen verwalten — Domains auflisten, DNS-Einrichtungsanweisungen abrufen und unterdrückte Adressen prüfen oder entfernen.
Dokumentation
Offizieller Mailtrap-MCP-Server
Der offizielle MCP-Server für Mailtrap — die Plattform für E-Mail-Zustellung. Er verbindet dein Mailtrap-Konto mit Claude, Cursor, VS Code und anderen MCP-kompatiblen KI-Assistenten.
Versende transaktionale und Massen-E-Mails, teste Nachrichten sicher in Email Sandbox, verwalte Vorlagen, Kontakte, Domains und Webhooks, prüfe E-Mail-Protokolle und Zustellstatistiken, behebe Zustellbarkeitsprobleme und verwalte Kontoressourcen — alles mit natürlichsprachlichen Prompts.
Funktionen
- E-Mail-API und SMTP — Versende transaktionale und Massen-E-Mails, einschließlich Nachrichten in Batches und auf Vorlagenbasis.
- E-Mail-Tests — Teste Nachrichten in Email Sandbox und prüfe Inhalte, Header, Anhänge, Spam-Bewertungen und die Kompatibilität mit HTML-Clients.
- Zustellungsüberwachung — Durchsuche E-Mail-Protokolle, prüfe den Ereignisverlauf und analysiere Zustellungs-, Bounce-, Öffnungs-, Klick- und Spam-Raten.
- E-Mail-Infrastruktur — Verwalte Domains, DNS-Verifizierung, Webhooks und Sperrlisten.
- Kontakte — Verwalte Kontakte, Listen, benutzerdefinierte Felder und Ereignisse sowie Importe und Exporte.
- Kontoverwaltung — Prüfe die Abrechnungsnutzung und verwalte Zugriff, Berechtigungen, API-Tokens und Unterkonten.
Unterstützte MCP-Clients
Funktioniert mit Claude Desktop, Claude Code, Cursor, VS Code und allen anderen MCP-kompatiblen Clients. Die Einrichtungsanleitungen für die einzelnen Clients findest du weiter unten.
Voraussetzungen
Bevor du diesen MCP-Server verwendest, benötigst du:
- Ein Mailtrap-Konto erstellen
- Deine Domain verifizieren
- Dein API-Token in den Mailtrap-API-Einstellungen abrufen
- Deine Account ID in der Mailtrap-Kontoverwaltung abrufen
- Node.js 22 oder höher installieren, sofern du nicht das Docker-Image verwendest
Erforderliche Umgebungsvariablen:
MAILTRAP_API_TOKEN- Für alle Funktionen erforderlichMAILTRAP_ACCOUNT_ID- Erforderlich für Vorlagen, get-sending-stats, E-Mail-Protokolle, Sandbox-Auflisten/Anzeigen, Domains und Sperrlisten. Nur für die Sendetools (send-email, send-sandbox-email und die batch-send-*-Tools), die E-Mail-Kampagnentools, get-marketing-stats, die Unternehmensinfo-Tools, die Tracking-Abmeldetools und list-accounts optional.
Optional (können stattdessen als Tool-Parameter übergeben werden):
DEFAULT_FROM_EMAIL- Standard-Absender-E-Mail-Adresse, wennfromnicht an send-email, send-sandbox-email oder die batch-send-*-Tools übergeben wird (dort wird sie fürbase.fromverwendet). Ermöglicht den Wechsel des Absenders pro Aufruf über den Parameterfrom.MAILTRAP_SANDBOX_ID- Standard-Sandbox-ID, wennsandbox_ideines Tools nicht übergeben wird (das älteretest_inbox_idwird bei den Sandbox-Nachrichten-Tools zum Senden/Auflisten/Anzeigen weiterhin akzeptiert). Ermöglicht den Wechsel der Sandbox pro Aufruf über Parameter.MAILTRAP_TEST_INBOX_ID- Veralteter Alias fürMAILTRAP_SANDBOX_ID; wird für bestehende Konfigurationen weiterhin als Fallback gelesen und gibt bei Verwendung eine Deprecation-Warnung an stderr aus.MAILTRAP_ORGANIZATION_ID- Für Organisationstools erforderlich (list-sub-accounts,create-sub-account,delete-sub-account).MAILTRAP_ORGANIZATION_API_TOKEN- Organisationsbezogenes API-Token. Für Organisationstools erforderlich (getrennt vonMAILTRAP_API_TOKEN).
Schnellinstallation
Docker
Führe den Server über stdio mit dem Image aus dem Docker MCP Catalog aus:
docker run --rm -i \
-e MAILTRAP_API_TOKEN="${MAILTRAP_API_TOKEN}" \
-e MAILTRAP_ACCOUNT_ID="${MAILTRAP_ACCOUNT_ID}" \
-e DEFAULT_FROM_EMAIL="${DEFAULT_FROM_EMAIL}" \
-e MAILTRAP_SANDBOX_ID="${MAILTRAP_SANDBOX_ID}" \
-e MAILTRAP_ORGANIZATION_ID="${MAILTRAP_ORGANIZATION_ID}" \
-e MAILTRAP_ORGANIZATION_API_TOKEN="${MAILTRAP_ORGANIZATION_API_TOKEN}" \
mcp/mailtrap
Unter Voraussetzungen findest du die erforderlichen und optionalen Umgebungsvariablen.
So erstellst du einen Build aus diesem Repository: docker build -t mcp/mailtrap .
Smithery CLI
Smithery ist eine Registry und ein Installer für MCP-Server, der mit KI-Clients funktioniert.
Installiere den veröffentlichten Server (mailtrap/mailtrap-mcp) in einem lokalen Client (ersetze den Clientnamen nach Bedarf):
npx -y smithery mcp add mailtrap/mailtrap-mcp --client claude
Weitere Clients (cursor, windsurf usw.) und Informationen zum Veröffentlichen von Updates findest du in der Smithery-CLI-Dokumentation.
Einrichtung
Claude Desktop
Verwende MCPB, um den Mailtrap-Server zu installieren. Diese Dateien findest du unter Releases.
Lade die .MCPB-Datei herunter und öffne sie. Wenn du Claude Desktop verwendest, wird die Datei geöffnet und du wirst aufgefordert, die Konfiguration vorzunehmen.
Claude Desktop oder Cursor
Füge die folgende Konfiguration hinzu:
{
"mcpServers": {
"mailtrap": {
"command": "npx",
"args": ["-y", "mcp-mailtrap"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
Wenn du asdf zur Verwaltung von Node.js verwendest, musst du den absoluten Pfad zur ausführbaren Datei angeben (Beispiel für Mac).
{
"mcpServers": {
"mailtrap": {
"command": "/Users/<username>/.asdf/shims/npx",
"args": ["-y", "mcp-mailtrap"],
"env": {
"PATH": "/Users/<username>/.asdf/shims:/usr/bin:/bin",
"ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
"ASDF_DATA_DIR": "/Users/<username>/.asdf",
"ASDF_NODEJS_VERSION": "22.14.0",
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
Speicherort der Claude-Desktop-Konfigurationsdatei
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Speicherort der Cursor-Konfigurationsdatei
Mac: ~/.cursor/mcp.json
Windows: %USERPROFILE%\.cursor\mcp.json
VS Code
Konfiguration manuell ändern
Führe in der Befehlspalette Folgendes aus: Preferences: Open User Settings (JSON)
Füge dann in der Einstellungsdatei die folgende Konfiguration hinzu:
{
"mcp": {
"servers": {
"mailtrap": {
"command": "npx",
"args": ["-y", "mcp-mailtrap"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
}
[!TIP] Vergiss nicht, deinen MCP-Server neu zu starten, nachdem du den Abschnitt "env" geändert hast.
MCP Bundle (MCPB)
Für eine einfache Installation auf Hosts, die MCP Bundles unterstützen, kannst du eine .mcpb-Bundle-Datei verteilen.
# Build TypeScript and pack the MCPB bundle
npm run mcpb:pack
# Inspect bundle metadata
npm run mcpb:info
# Sign the bundle for distribution (optional)
npm run mcpb:sign
Dadurch wird mailtrap-mcp.mcpb erstellt. Das Skript kopiert dist/, manifest.json, icon.png und die
Lizenz nach mcpb-build/, installiert dort die Produktionsabhängigkeiten und packt nur dieses Verzeichnis.
Führe mcpb pack . nicht im Stammverzeichnis des Repositorys aus.
Verwendung
Nach der Konfiguration kannst du den Agenten beispielsweise bitten, E-Mails zu versenden und Vorlagen zu verwalten:
E-Mail-Versand:
- "Sende eine E-Mail an john.doe@example.com mit dem Betreff 'Meeting Tomorrow' und einer freundlichen Erinnerung an unser bevorstehendes Meeting."
- "Schreibe sarah@example.com wegen des Projektupdates und setze das Team unter team@example.com in CC."
- "Sende die Willkommensvorlage (uuid
b81aabcd-1a1e-41cf-91b6-eca0254b3d96) an new@example.com mit den Variablen{ name: 'Alex' }." - "Sende eine Sandbox-E-Mail an test@example.com mit dem Betreff 'Test Template', um eine Vorschau unserer Willkommens-E-Mail zu sehen."
E-Mail-Protokolle (Zustellung debuggen):
- "Liste meine zuletzt gesendeten E-Mail-Protokolle auf."
- "Zeige E-Mail-Protokolle für E-Mails an, die an user@example.com gesendet wurden."
- "Rufe das E-Mail-Protokoll für die Nachricht mit der ID abc-123-uuid ab, um den Zustellungsstatus zu prüfen."
Statistiken:
- "Rufe die Versandstatistiken für Januar 2025 ab."
- "Zeige die Zustellungsraten des letzten Monats nach Domain aufgeschlüsselt."
- "Wie sehen meine E-Mail-Statistiken nach Kategorie für den Zeitraum vom 2025-01-01 bis zum 2025-01-31 aus?"
- "Wie hat sich mein E-Mail-Marketing im letzten Monat entwickelt? Vergleiche Kampagnen mit Automatisierungen."
Sandbox-Vorgänge:
- "Rufe alle Nachrichten aus meiner Sandbox ab."
- "Zeige mir die erste Seite der Sandbox-Nachrichten."
- "Suche in meiner Sandbox nach Nachrichten, die 'test' enthalten."
- "Erstelle eine Sandbox namens 'QA' im Projekt 42 und gib mir ihre SMTP-Zugangsdaten."
- "Lösche alle Nachrichten aus Sandbox 1234."
- "Zeige mir die Details der Sandbox-Nachricht mit der ID 5159037506."
Vorlagenvorgänge:
- "Liste alle E-Mail-Vorlagen in meinem Mailtrap-Konto auf."
- "Erstelle eine neue E-Mail-Vorlage namens 'Welcome Email' mit dem Betreff 'Welcome to our platform!'."
- "Aktualisiere die Vorlage mit der ID 12345 und ändere den Betreff in 'Updated Welcome Message'."
- "Lösche die Vorlage mit der ID 67890."
Domains:
- "Liste meine Domains auf."
- "Rufe die Domain mit der ID 3938 ab."
- "Erstelle eine Domain für example.com."
- "Aktiviere das Klick-Tracking für Domain 3938."
- "Lösche Domain 3938."
- "Rufe Domain 3938 mit DNS-Einrichtungsanweisungen ab."
- "Zeige die Unternehmensinformationen für Domain 3938 an."
- "Lege die Unternehmensinformationen für Domain 3938 auf Acme Inc, 123 Main St, San Francisco, US, 94105, https://acme.com fest."
- "Ändere die Stadt in den Unternehmensinformationen für Domain 3938 in New York."
Sperrlisten:
- "Liste die Sperrlisteneinträge für bounced@example.com auf."
- "Setze bounced@example.com für den transaktionalen Stream von Domain 3938 auf die Sperrliste."
- "Zeige mir alle gesperrten E-Mail-Adressen."
- "Warum erhält user@example.com meine E-Mails nicht?"
- "Entferne user@example.com aus der Sperrliste."
Tracking-Abmeldungen:
- "Beende das Öffnungs- und Klick-Tracking für privacy@example.com auf Domain 3938."
- "Liste alle Personen auf, die sich vom Tracking abgemeldet haben."
Kontakte und Listen:
- "Füge john.doe@example.com zu meiner Newsletter-Kontaktliste hinzu."
- "Zeige mir alle meine Kontaktlisten."
- "Erstelle ein Kontaktfeld namens 'signup_source', um nachzuverfolgen, woher Kontakte stammen."
- "Aktualisiere den Kontakt john.doe@example.com und setze dessen Tarif auf 'pro'."
- "Importiere Kontakte aus dieser CSV-Datei in meine Onboarding-Liste."
- "Exportiere alle Kontakte aus meiner Newsletter-Liste."
- "Erfasse ein Ereignis 'trial_started' für den Kontakt john.doe@example.com."
Webhooks:
- "Liste alle in meinem Konto konfigurierten Webhooks auf."
- "Erstelle einen Webhook für https://example.com/hooks/mailtrap für Bounce- und Spam-Ereignisse."
- "Aktualisiere Webhook 4821, sodass auch Zustellungsereignisse gesendet werden."
- "Lösche Webhook 4821."
Konto und Abrechnung:
- "Wie hoch ist meine aktuelle Abrechnungsnutzung in diesem Monat?"
- "Wie viele E-Mails habe ich in meinem Tarif noch übrig?"
- "Liste alle Personen auf, die Zugriff auf dieses Mailtrap-Konto haben."
- "Zeige mir die Berechtigungsressourcen, die in meinem Konto verfügbar sind."
API-Tokens:
- "Liste alle API-Tokens in meinem Konto auf."
- "Erstelle ein neues API-Token für die Staging-Umgebung."
- "Setze das API-Token mit der ID 1234 zurück."
- "Lösche das ungenutzte API-Token 1234."
Organisation und Unterkonten:
- "Liste alle Unterkonten in meiner Organisation auf."
- "Erstelle ein neues Unterkonto für das Kundenprojekt 'Acme Corp'."
Umbenannte Tools
Mailtrap bezeichnet Test-Postfächer jetzt als Sandboxes und Versanddomains als Domains; die Tools wurden entsprechend umbenannt. Die alten Namen erscheinen nicht mehr in der Toolliste, Aufrufe mit diesen Namen funktionieren jedoch weiterhin und geben eine Deprecation-Warnung an stderr aus. Sie werden in einer zukünftigen Hauptversion entfernt.
MCP-Clients und Agent-Frameworks gleichen Zulassungs-, Sperr- und Filterlisten mit den angekündigten Toolnamen ab. Übertrage daher alle Einträge für einzelne Tools auf die neuen Namen: Ein Sperreintrag für delete-sending-domain blockiert delete-domain nicht mehr.
| Alter Name | Neuer Name |
|---|---|
create-sandbox-inbox | create-sandbox |
get-sandbox-inbox | get-sandbox |
update-sandbox-inbox | update-sandbox |
delete-sandbox-inbox | delete-sandbox |
clean-sandbox-inbox | clean-sandbox |
list-sending-domains | list-domains |
get-sending-domain | get-domain |
create-sending-domain | create-domain |
update-sending-domain | update-domain |
delete-sending-domain | delete-domain |
send-sending-domain-setup-instructions | send-domain-setup-instructions |
sending_domain_id-Parameter der Domain- und Unternehmensinfo-Tools | domain_id |
MAILTRAP_TEST_INBOX_ID-Umgebungsvariable | MAILTRAP_SANDBOX_ID |
Filter, die einem API-Feld entsprechen, behalten ihre Namen: sending_domain_id bei list-email-logs und sending_domain_ids bei den Statistik-Tools.
Verfügbare Tools
send-email
Versendet eine transaktionale E-Mail über Mailtrap. Unterstützt zwei sich gegenseitig ausschließende Modi — Inline-Inhalt (subject + text/html) oder vorlagenbasiert (template_uuid).
Parameter:
from(optional): Absender als{ email, name? }(zur Laufzeit wird auch eine einfache E-Mail-Adresse als Zeichenfolge akzeptiert). Wenn nicht angegeben, wirdDEFAULT_FROM_EMAILverwendet.to(optional): Array von Empfängern als{ email, name? }-Objekte (zur Laufzeit werden auch einfache E-Mail-Adressen als Zeichenfolgen oder eine einzelne Adresse ohne Array akzeptiert). Optional, wennccoderbccangegeben ist; mindestens eines vonto/cc/bccmuss einen Empfänger enthalten.cc(optional): Array von CC-Empfängern als{ email, name? }-Objekte (zur Laufzeit werden auch einfache E-Mail-Adressen als Zeichenfolgen akzeptiert).bcc(optional): Array von BCC-Empfängern als{ email, name? }-Objekte (zur Laufzeit werden auch einfache E-Mail-Adressen als Zeichenfolgen akzeptiert).subject(conditional): Betreffzeile der E-Mail. Für den Inline-Versand erforderlich; muss weggelassen werden, wenntemplate_uuidgesetzt ist.text(conditional): E-Mail-Text. Für den Inline-Versand erforderlich (zusammen mit oder anstelle vonhtml); muss weggelassen werden, wenntemplate_uuidgesetzt ist.html(conditional): HTML-Version des E-Mail-Texts. Für den Inline-Versand erforderlich (zusammen mit oder anstelle vontext); muss weggelassen werden, wenntemplate_uuidgesetzt ist.category(optional): E-Mail-Kategorie für Tracking und Analysen. Muss weggelassen werden, wenntemplate_uuidgesetzt ist.template_uuid(optional): Eine Mailtrap-E-Mail-Vorlage anstelle von Inline-Inhalten verwenden. Wenn gesetzt, müssensubject/text/html/categoryweggelassen werden (gemäß Mailtrap API).template_variables(optional): Objekt mit Variablen, die in die durchtemplate_uuidreferenzierte Vorlage eingesetzt werden. Nur zusammen mittemplate_uuidzulässig.
batch-send-transactional-email
Sendet mehrere Transaktions-E-Mails mit einem Mailtrap-API-Aufruf (Standard-Sendestream). Gemeinsame Felder werden unter base angegeben; Überschreibungen pro Empfänger unter requests[]. Jede Anfrage muss mindestens einen Empfänger über to, cc oder bcc enthalten. Dieselben Regeln zum gegenseitigen Ausschluss von Inline-Inhalten und Vorlagen wie bei send-email — geprüft, nachdem die Basis mit jeder Anfrage zusammengeführt wurde.
Parameter:
base(optional): Objekt mit Feldern, die für den gesamten Batch gelten.from(optional): Absender als{ email, name? }(zur Laufzeit wird auch eine einfache E-Mail-Adresse als Zeichenfolge akzeptiert). Fällt aufDEFAULT_FROM_EMAILzurück.reply_to(optional): Antwortadresse.subject/text/html/category(optional, Inline-Modus): Standardinhalte für jede Anfrage.template_uuid/template_variables(optional, Vorlagenmodus): Standardvorlage und Variablen. Nicht zusammen mit den Inline-Feldern verwendbar.custom_variables(optional): Standardwerte für benutzerdefinierte Variablen (Zeichenfolgen).headers(optional): Standardwerte für benutzerdefinierte Header.
requests(required): Nicht leeres Array mit Nachrichten pro Empfänger. Jeder Eintrag enthält:to(optional): Array von Empfängern als{ email, name? }-Objekte (zur Laufzeit werden auch einfache E-Mail-Adressen als Zeichenfolgen oder eine einzelne Adresse ohne Array akzeptiert). Optional, wennccoderbccangegeben ist; mindestens eines vonto/cc/bccmuss einen Empfänger enthalten.cc,bcc,reply_to(optional).- Überschreibungen für Inline-Inhalte (
subject/text/html/category) oder Vorlagen (template_uuid/template_variables); jedes ausgelassene Feld übernimmt den entsprechenden Wert ausbase. custom_variables,headers(optional).
batch-send-bulk-email
Sendet mehrere Bulk-E-Mails über die Bulk-Stream-API von Mailtrap. Dieselbe Struktur base + requests[], dieselbe Validierung und dieselben Regeln zum gegenseitigen Ausschluss von Inline-Inhalten und Vorlagen wie bei batch-send-transactional-email — der einzige Unterschied besteht darin, dass dieses Tool den Aufruf statt an den Transaktions-Endpunkt an den Bulk-Endpunkt weiterleitet. Siehe die obigen Parameter.
list-email-logs
Listet gesendete E-Mail-Protokolle (Zustellungsverlauf) mit optionaler Paginierung und Filtern auf. Verwenden Sie diese Funktion, um Zustellungsprobleme direkt in der IDE zu untersuchen.
Parameter:
search_after(optional): Paginierungscursor aus demnext_page_cursorder vorherigen Antwortsent_after(optional): Datum/Uhrzeit im ISO-8601-Format; nur Protokolle, die nach diesem Zeitpunkt gesendet wurdensent_before(optional): Datum/Uhrzeit im ISO-8601-Format; nur Protokolle, die vor diesem Zeitpunkt gesendet wurdenfrom_email(optional): Nach Absender-E-Mail-Adresse filtern; zusammen mitfrom_operatorverwenden (Standard: ci_equal)to_email(optional): Nach Empfänger-E-Mail-Adresse filtern; zusammen mitto_operatorverwenden (Standard: ci_equal)status(optional): Nach Zustellungsstatus filtern: delivered, not_delivered, enqueued, opted_out; zusammen mitstatus_operatorverwenden (Standard: equal)subject(optional): Nach E-Mail-Betreff filtern; zusammen mitsubject_operatorverwenden (Standard: ci_contain). Verwenden Siesubject_operator: empty/not_empty, um nach dem Vorhandensein eines Betreffs zu filtern.sending_domain_id(optional): Nach Domain-ID (Zahl) filtern; zusammen mitsending_domain_id_operatorverwenden (Standard: equal)sending_stream(optional): Nach Stream filtern: transactional oder bulk; zusammen mitsending_stream_operatorverwenden (Standard: equal)events(optional): Nach Ereignistyp(en) filtern: delivery, open, click, bounce, spam, unsubscribe, soft_bounce, reject, suspension; zusammen mitevents_operatorverwenden (include_event / not_include_event)clicks_count/opens_count(optional): Nach Anzahl der Klicks/Öffnungen filtern;*_operatorverwenden: equal, greater_than, less_thanclient_ip/sending_ip(optional): Nach IP-Adresse filtern;*_operatorverwenden: equal, not_equal, contain, not_containemail_service_provider_response(optional): Nach Antworttext des Anbieters filtern; zusammen mit*_operatorverwenden (ci_contain usw.)email_service_provider(optional): Nach Anbieter filtern (exakt);*_operatorverwenden: equal, not_equalrecipient_mx(optional): Nach MX-Eintrag des Empfängers filtern; zusammen mitrecipient_mx_operatorverwenden (ci_contain usw.)category(optional): Nach E-Mail-Kategorie filtern;category_operatorverwenden: equal, not_equal
Alle Parameter sind optional.
get-email-log-message
Ruft eine einzelne E-Mail-Protokollnachricht anhand ihrer ID (UUID) ab: eine lesbare Zusammenfassung (Absender, Empfänger, Betreff, Sendezeit, Status, Kategorie, Stream, Interaktionen, Zustellungskontext) und anschließend den detaillierten Ereignisverlauf. Optional können Sie mit include_content: true auch den Nachrichteninhalt (HTML und Klartext) laden und anzeigen, sofern Mailtrap eine URL zur Roh-Nachricht bereitstellt.
Parameter:
message_id(required): UUID der E-Mail-Protokollnachricht (aus der Sendeantwort oder list-email-logs). Verwenden Sielist-email-logs, um Nachrichten-IDs zu finden.include_content(optional): Wenntrue, wird die rohe EML-Datei abgerufen (sofernraw_message_urlverfügbar ist) und es werden geparste HTML- und Klartextabschnitte angehängt, ähnlich wie bei show-sandbox-email-message.
get-sending-stats
Ruft E-Mail-Versandstatistiken (Zustellungs-, Bounce-, Öffnungs-, Klick- und Spam-Raten) für einen Datumsbereich ab. Optional können die Daten nach Domain, Kategorie, E-Mail-Dienstanbieter oder Datum aufgeschlüsselt werden. Prüfen Sie die Zustellungsraten, ohne den Editor zu verlassen.
Parameter:
start_date(required): Startdatum des Statistikzeitraums (YYYY-MM-DD)end_date(required): Enddatum des Statistikzeitraums (YYYY-MM-DD)breakdown(optional): Aufschlüsselung der Statistiken nach:aggregated(Standard),by_domain,by_category,by_email_service_provideroderby_datesending_domain_ids(optional): Ergebnisse auf diese Domain-IDs beschränken (Array von Ganzzahlen)sending_streams(optional): Auftransactionalund/oderbulkbeschränken (Array von Zeichenfolgen)categories(optional): Auf diese E-Mail-Kategorien beschränken (Array von Zeichenfolgen)email_service_providers(optional): Auf diese Anbieter beschränken, z. B. Google, Yahoo, Outlook (Array von Zeichenfolgen)
get-marketing-stats
Ruft aggregierte E-Mail-Marketing-Statistiken für Kampagnen und Automatisierungen innerhalb eines Datumsbereichs ab: Anzahl und Raten für gesendete E-Mails, Zustellungen, Bounces, Öffnungen, Klicks, Spam und Abmeldungen. delivery_rate und bounce_rate sind Anteile von sent_count; die übrigen Raten sind Anteile von delivery_count.
Parameter:
start_date(required): Beginn des Datumsbereichs (einschließlich),YYYY-MM-DDend_date(required): Ende des Datumsbereichs (einschließlich),YYYY-MM-DDsending_domain_ids(optional): Ergebnisse auf diese Domain-IDs beschränken (Array von Ganzzahlen)sources(optional):campaignsoderautomationsschränkt die Statistiken auf diese Quelle ein; weglassen oder beide übergeben, um den gesamten E-Mail-Marketing-Traffic einzubeziehen (Array von Zeichenfolgen)email_service_providers(optional): Auf diese Anbieter beschränken, z. B. Google, Yahoo, Outlook (Array von Zeichenfolgen)
create-template
Erstellt eine neue E-Mail-Vorlage in Ihrem Mailtrap-Konto.
Parameter:
name(required): Name der Vorlagesubject(required): Betreffzeile der E-Mailhtml(odertextist erforderlich): HTML-Inhalt der Vorlagetext(oderhtmlist erforderlich): Klartextversion der Vorlagecategory(optional): Vorlagenkategorie (Standard ist "General")
list-templates
Listet die E-Mail-Vorlagen in Ihrem Mailtrap-Konto mit Paginierung über Seitentoken auf. Wenn weitere Vorlagen vorhanden sind, nennt das Ergebnis das token für die nächste Seite. Die Seiten entsprechen Offsets in der nach Neuheit sortierten Liste. Löschen Sie Vorlagen und beginnen Sie die Liste daher erneut bei token 1, anstatt mit dem nächsten Token fortzufahren; eine leere Seite nennt die letzte Seite, auf der noch Vorlagen vorhanden sind.
Parameter:
token(optional): Abzurufende Seitennummer (Paginierung über Seitentoken). Standard ist1per_page(optional): Anzahl der Vorlagen pro Seite. Standard ist50, maximal100. Auf jeder Seite denselben Wert übergeben
get-template
Ruft eine einzelne E-Mail-Vorlage anhand ihrer ID ab, einschließlich Betreff, Kategorie und HTML-/Textinhalt.
Parameter:
template_id(required): ID der abzurufenden Vorlage
update-template
Aktualisiert eine vorhandene E-Mail-Vorlage.
Parameter:
template_id(required): ID der zu aktualisierenden Vorlagename(optional): Neuer Name der Vorlagesubject(optional): Neue Betreffzeile der E-Mailhtml(optional): Neuer HTML-Inhalt der Vorlagetext(optional): Neue Klartextversion der Vorlagecategory(optional): Neue Kategorie der Vorlage
[!NOTE] Beim Aufruf von update-template muss mindestens ein aktualisierbares Feld (name, subject, html, text oder category) angegeben werden, damit eine Aktualisierung durchgeführt wird.
delete-template
Löscht eine vorhandene E-Mail-Vorlage.
Parameter:
template_id(required): ID der zu löschenden Vorlage
send-sandbox-email
Sendet eine E-Mail an Ihre Mailtrap-Sandbox zu Entwicklungs- und Testzwecken. Damit können Sie E-Mail-Vorlagen testen, ohne E-Mails an echte Empfänger zu senden. Unterstützt dieselben zwei Modi wie send-email — Inline-Inhalte oder vorlagenbasiert (template_uuid).
Parameter:
sandbox_id(optional): Bevorzugt. Mailtrap-Sandbox-ID. Erforderlich, sofernMAILTRAP_SANDBOX_IDnicht gesetzt ist.test_inbox_id(optional): Veralteter Alias fürsandbox_id, wennsandbox_idnicht angegeben ist.from(optional): Absender als{ email, name? }(zur Laufzeit wird auch eine einfache E-Mail-Adresse akzeptiert). Wenn nicht angegeben, wirdDEFAULT_FROM_EMAILverwendet.to(optional): Array von Empfängern als{ email, name? }-Objekte (zur Laufzeit werden auch einfache E-Mail-Adressen im Array oder eine durch Kommas getrennte Zeichenfolge mit einfachen E-Mail-Adressen akzeptiert). Optional, wennccoderbccangegeben ist; mindestens eines vonto/cc/bccmuss einen Empfänger enthalten.cc(optional): Array von CC-Empfängern als{ email, name? }-Objekte (zur Laufzeit werden auch einfache E-Mail-Adressen akzeptiert).bcc(optional): Array von BCC-Empfängern als{ email, name? }-Objekte (zur Laufzeit werden auch einfache E-Mail-Adressen akzeptiert).subject(conditional): Betreffzeile der E-Mail. Für Inline-Versand erforderlich; muss weggelassen werden, wenntemplate_uuidgesetzt ist.text(conditional): E-Mail-Text. Für Inline-Versand erforderlich (zusammen mit oder anstelle vonhtml); muss weggelassen werden, wenntemplate_uuidgesetzt ist.html(conditional): HTML-Version des E-Mail-Texts. Für Inline-Versand erforderlich (zusammen mit oder anstelle vontext); muss weggelassen werden, wenntemplate_uuidgesetzt ist.category(optional): E-Mail-Kategorie für das Tracking. Muss weggelassen werden, wenntemplate_uuidgesetzt ist.template_uuid(optional): Eine Mailtrap-E-Mail-Vorlage anstelle von Inline-Inhalten verwenden. Wenn gesetzt, müssensubject/text/html/categoryweggelassen werden.template_variables(optional): Objekt mit Variablen, die in die durchtemplate_uuidreferenzierte Vorlage eingesetzt werden. Nur zusammen mittemplate_uuidzulässig.
batch-send-sandbox-email
Sendet mehrere E-Mails in einem API-Aufruf an Ihre Mailtrap-Sandbox, ohne sie an echte Empfänger zuzustellen. Dieselbe Struktur von base + requests[], dieselbe Validierung und dieselben Regeln für Inline-Inhalte und Vorlagen wie bei batch-send-transactional-email — der Unterschied besteht darin, dass dieses Tool den Aufruf über den Sandbox-Endpunkt für eine einzelne Sandbox leitet.
Parameter:
sandbox_id(optional): Mailtrap-Sandbox-ID. Erforderlich, sofernMAILTRAP_SANDBOX_IDnicht gesetzt ist; pro Aufruf angeben, um eine bestimmte Sandbox anzusprechen.base(optional),requests(required): Siehe oben unterbatch-send-transactional-email.
[!NOTE] Die meisten Sandbox-Tools verwenden
sandbox_id(oder greifen aufMAILTRAP_SANDBOX_IDzurück; die veraltete UmgebungsvariableMAILTRAP_TEST_INBOX_IDfunktioniert weiterhin).send-sandbox-email,get-sandbox-messagesundshow-sandbox-email-messageakzeptieren ebenfalls den veralteten Werttest_inbox_id.get-sandbox,update-sandbox,delete-sandboxundclean-sandboxverwendensandbox_idmit dem veralteten Wertinbox_id(dieselbe ID;inbox_idwird bei Nachrichtentools nicht verwendet). Tools für eingehende E-Mails verwendeninbox_idfür ein anderes Produkt (empfangene E-Mails), nicht für die Sandbox.
get-sandbox-messages
Ruft eine Liste von Nachrichten aus Ihrer Mailtrap-Sandbox ab. Nützlich, um zu prüfen, welche E-Mails während des Tests in Ihrer Sandbox eingegangen sind.
Parameter:
sandbox_id(optional): Bevorzugt. Sandbox-ID, sofernMAILTRAP_SANDBOX_IDnicht gesetzt ist.test_inbox_id(optional): Veralteter Alias fürsandbox_id.page(optional): Seitennummer für die Paginierung (Minimum: 1)last_id(optional): Paginierung anhand der letzten Nachrichten-ID. Gibt Nachrichten nach der angegebenen Nachrichten-ID zurück (Minimum: 1)search(optional): Suchanfrage zum Filtern von Nachrichten
[!NOTE] Sandbox-ID-Parameter sind optional, wenn
MAILTRAP_SANDBOX_IDgesetzt ist. Wenn wedersandbox_id,test_inbox_idnoch eine Umgebungsvariable angegeben ist, schlägt der Aufruf fehl. Paginierung: Verwenden Sie bei Bedarfpage,last_idodersearch.
show-sandbox-email-message
Zeigt detaillierte Informationen und den Inhalt einer bestimmten E-Mail-Nachricht aus Ihrer Mailtrap-Sandbox an, einschließlich HTML- und Textinhalt.
Parameter:
sandbox_id(optional): Bevorzugt. Sandbox-ID, sofernMAILTRAP_SANDBOX_IDnicht gesetzt ist.test_inbox_id(optional): Veralteter Alias fürsandbox_id.message_id(required): ID der abzurufenden Sandbox-E-Mail-Nachricht
[!NOTE] Verwenden Sie zuerst
get-sandbox-messages, um Nachrichten-IDs abzurufen, und anschließend dieses Tool, um den vollständigen Inhalt anzuzeigen.
list-sandbox-projects
Listet alle Sandbox-Projekte und ihre Sandboxes auf.
Parameter:
- Keine Parameter erforderlich
create-sandbox-project
Erstellt ein neues Sandbox-Projekt, um Sandboxes zu gruppieren.
Parameter:
name(required): Name des Projekts (2–100 Zeichen)
get-sandbox-project
Ruft ein Sandbox-Projekt anhand seiner ID ab, einschließlich seiner Sandboxes und E-Mail-Anzahlen.
Parameter:
project_id(required): ID des abzurufenden Projekts
update-sandbox-project
Benennt ein vorhandenes Sandbox-Projekt um.
Parameter:
project_id(required): ID des zu aktualisierenden Projektsname(required): Neuer Name des Projekts (2–100 Zeichen)
delete-sandbox-project
Löscht ein Sandbox-Projekt und alle zugehörigen Sandboxes.
Parameter:
project_id(required): ID des zu löschenden Projekts
create-sandbox
Erstellt eine neue Sandbox innerhalb eines Projekts. Gibt die SMTP-Zugangsdaten der neuen Sandbox zurück.
Parameter:
project_id(required): ID des Projekts, in dem die Sandbox erstellt werden sollname(required): Name der Sandbox
get-sandbox
Ruft Sandbox-Details ab, einschließlich SMTP-Zugangsdaten, E-Mail-Anzahlen und Status.
Parameter:
sandbox_id(optional): Sandbox-ID. Erforderlich, sofernMAILTRAP_SANDBOX_IDnicht gesetzt ist.inbox_id(optional): Veralteter Alias fürsandbox_id.
update-sandbox
Aktualisiert den Namen oder den E-Mail-Benutzernamen einer Sandbox.
Parameter:
sandbox_id(required): Sandbox-ID (veralteter Alias:inbox_id)name(optional): Neuer Name der Sandboxemail_username(optional): Neuer E-Mail-Benutzername der Sandbox
Mindestens eines von name oder email_username muss angegeben werden.
delete-sandbox
Löscht eine Sandbox und alle ihre Nachrichten.
Parameter:
sandbox_id(required): Sandbox-ID (veralteter Alias:inbox_id)
clean-sandbox
Löscht alle Nachrichten aus einer Sandbox, ohne die Sandbox selbst zu löschen.
Parameter:
sandbox_id(required): Sandbox-ID (veralteter Alias:inbox_id)
list-sandboxes
Listet alle Sandboxes auf, auf die das API-Token projektübergreifend zugreifen kann.
Parameter:
- Keine Parameter erforderlich
mark-sandbox-as-read
Markiert alle Nachrichten in einer Sandbox als gelesen.
Parameter:
sandbox_id(required): ID der Sandbox, für die die Aktion ausgeführt werden soll
reset-sandbox-credentials
Setzt die SMTP-Zugangsdaten einer Sandbox zurück. Gibt den neuen Benutzernamen und das neue Passwort zurück.
Parameter:
sandbox_id(required): ID der Sandbox, für die die Aktion ausgeführt werden soll
enable-sandbox-email-address
Aktiviert die E-Mail-Empfangsadresse einer Sandbox (schaltet die Mailtrap-Adresse ein, über die Nachrichten per SMTP an die Sandbox zugestellt werden).
Parameter:
sandbox_id(required): ID der Sandbox, für die die Aktion ausgeführt werden soll
reset-sandbox-email-address
Erstellt eine neue E-Mail-Empfangsadresse für eine Sandbox.
Parameter:
sandbox_id(required): ID der Sandbox, für die die Aktion ausgeführt werden soll
forward-sandbox-message
Leitet eine Sandbox-Nachricht an eine externe E-Mail-Adresse weiter. Wird auf Ihr monatliches Weiterleitungskontingent angerechnet.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der weiterzuleitenden Sandbox-Nachrichtemail(required): E-Mail-Adresse, an die die Nachricht weitergeleitet werden soll
update-sandbox-message
Markiert eine Sandbox-Nachricht als gelesen oder ungelesen.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der zu aktualisierenden Sandbox-Nachrichtis_read(required):truemarkiert die Nachricht als gelesen,falseals ungelesen
delete-sandbox-message
Löscht eine einzelne Sandbox-Nachricht.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der zu löschenden Sandbox-Nachricht
get-sandbox-message-spam-score
Ruft den SpamAssassin-Spambericht für eine Sandbox-Nachricht ab (Bewertung, Regeln, vollständiger Bericht). Eigenständige Alternative zu include_spam_report: true bei show-sandbox-email-message.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
get-sandbox-message-html-analysis
Ruft den HTML-Analysebericht für eine Sandbox-Nachricht ab (Kompatibilitätsbewertungen für E-Mail-Clients, problematische Elemente). Eigenständige Alternative zu include_html_analysis: true bei show-sandbox-email-message.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
get-sandbox-message-headers
Ruft die geparsten E-Mail-Header einer Sandbox-Nachricht ab.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
get-sandbox-message-html
Ruft den gerenderten HTML-Text einer Sandbox-Nachricht ab.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
get-sandbox-message-text
Ruft den Nur-Text-Inhalt einer Sandbox-Nachricht ab.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
get-sandbox-message-raw
Ruft die rohe, MIME-formatierte Nachricht (Header + Text) einer Sandbox-Nachricht ab.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
get-sandbox-message-eml
Ruft die Nachricht als EML-Dateiinhalt ab (geeignet zum Anhängen an ein Ticket oder zum Importieren in einen anderen E-Mail-Client).
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
get-sandbox-message-html-source
Ruft den nicht gerenderten HTML-Quelltext einer Sandbox-Nachricht ab (HTML vor Mailtrap-seitigen Änderungen wie CID-Link-Umschreibungen).
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
list-sandbox-attachments
Listet alle Anhänge einer Sandbox-Nachricht auf (Dateiname, Inhaltstyp, Größe, Downloadpfad).
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht
get-sandbox-attachment
Ruft Metadaten und die Download-URL für einen einzelnen Anhang ab.
Parameter:
sandbox_id(optional): Sandbox-ID. Verwendet ersatzweiseMAILTRAP_SANDBOX_ID.message_id(required): ID der Sandbox-Nachricht, die den Anhang enthältattachment_id(required): ID des abzurufenden Anhangs
list-domains
Listet Domains und ihren DNS-Verifizierungsstatus auf.
Parameter:
- Keine Parameter erforderlich
get-domain
Ruft eine Domain anhand ihrer ID und ihren Verifizierungsstatus ab (einschließlich DNS-Einträgen). Optional können DNS-Einrichtungsanweisungen einbezogen werden, indem include_setup_instructions auf true gesetzt wird.
Parameter:
domain_id(required): Domain-ID (veralteter Alias:sending_domain_id)include_setup_instructions(optional): Wenntrue, werden DNS-Einrichtungsanweisungen an die Antwort angehängt. Standard:false
create-domain
Erstellt eine neue Domain. Fügen Sie nach der Erstellung DNS-Einträge hinzu, um die Domain zu verifizieren (verwenden Sie get-domain mit include_setup_instructions: true, um die Einträge anzuzeigen).
Parameter:
domain_name(required): Domainname (z. B. example.com)
update-domain
Tracking- und Eingehend-Einstellungen einer Domain aktualisieren.
Parameter:
domain_id(erforderlich): Domain-ID (veralteter Alias:sending_domain_id)open_tracking_enabled(optional): Öffnungen von E-Mails verfolgen, die von dieser Domain gesendet werdenclick_tracking_enabled(optional): Klicks auf Links in E-Mails verfolgen, die von dieser Domain gesendet werdentracking_opt_out_enabled(optional): Den Link zum Deaktivieren des Trackings zu getrackten E-Mails hinzufügen. Erfordert das Tracking von Öffnungen oder Klicksauto_unsubscribe_link_enabled(optional): E-Mails automatisch einen Abmeldelink hinzufügeninbound_enabled(optional): Zulassen, dass die Domain einem Posteingang für eingehende E-Mails als Catch-all zugewiesen wird
Mindestens eine Einstellung außer domain_id muss angegeben werden.
delete-domain
Eine Domain löschen.
Parameter:
domain_id(erforderlich): Zu löschende Domain-ID (veralteter Alias:sending_domain_id)
send-domain-setup-instructions
DNS-Einrichtungsanweisungen für eine Domain an eine angegebene Adresse senden. Nützlich, um DNS-Einträge an ein DevOps-Teammitglied weiterzuleiten.
Parameter:
domain_id(erforderlich): Domain-ID (veralteter Alias:sending_domain_id)email(erforderlich): E-Mail-Adresse, an die die DNS-Einrichtungsanweisungen gesendet werden sollen
get-company-info
Unternehmensinformationen einer Domain abrufen, die zur Compliance-Verifizierung der Domain verwendet werden.
Parameter:
domain_id(erforderlich): Domain-ID (veralteter Alias:sending_domain_id)
create-company-info
Unternehmensinformationen einer Domain festlegen, die für die Compliance-Verifizierung der Domain erforderlich sind.
Parameter:
domain_id(erforderlich): Domain-ID (veralteter Alias:sending_domain_id)name(erforderlich): Name des Unternehmens oder der Einzelpersonaddress(erforderlich): Straßenadressecity(erforderlich): Stadtcountry(erforderlich): Landzip_code(erforderlich): Postleitzahlwebsite_url(erforderlich): URL der Unternehmenswebsitephone(optional): Telefonnummerprivacy_policy_url(optional): URL der Datenschutzrichtlinienseiteterms_of_service_url(optional): URL der Nutzungsbedingungeninfo_level(optional):businessoderindividual
update-company-info
Unternehmensinformationen einer Domain aktualisieren.
Parameter:
domain_id(erforderlich): Domain-ID (veralteter Alias:sending_domain_id)- Alle Felder von create-company-info sind optional. Mindestens eines muss angegeben werden; nicht angegebene Felder bleiben unverändert.
list-suppressions
Sperrungen auflisten oder durchsuchen (Hard Bounces, Spam-Beschwerden, Abmeldungen, manuelle Importe). Gibt pro Aufruf bis zu 1000 Ergebnisse zurück.
Parameter:
email(optional): E-Mail-Filter. Gibt nur Sperrungen zurück, die dieser Adresse entsprechen.
create-suppression
Eine E-Mail-Adresse zur Sperrliste des Kontos hinzufügen, damit Mailtrap keine E-Mails mehr an sie zustellt.
Parameter:
email(erforderlich): Zu sperrende E-Mail-Adressedomain_id(erforderlich): ID der Domain, für die die Sperrung giltsending_stream(erforderlich):transactionaloderbulktype(optional):hard bounce,spam complaint,unsubscriptionodermanual import. Standardmäßigmanual import
delete-suppression
Eine Sperrung anhand ihrer ID löschen. Mailtrap setzt die Zustellung an diese E-Mail-Adresse fort, sofern sie nicht erneut gesperrt wird.
Parameter:
suppression_id(erforderlich): ID der zu löschenden Sperrung
list-tracking-opt-outs
E-Mail-Adressen auflisten, die vom Öffnungs- und Klick-Tracking ausgeschlossen sind. Gibt pro Aufruf bis zu 1000 Datensätze zurück.
Parameter:
email(optional): E-Mail-Filter. Gibt nur Opt-outs zurück, die dieser Adresse entsprechenstart_time(optional): Nur Opt-outs, die zu diesem Zeitpunkt oder später erstellt wurden (ISO 8601)end_time(optional): Nur Opt-outs, die zu diesem Zeitpunkt oder früher erstellt wurden (ISO 8601)last_id(optional): Paginierungscursor — derlast_idaus der vorherigen Antwort
create-tracking-opt-out
Eine E-Mail-Adresse für eine Domain vom Öffnungs- und Klick-Tracking ausschließen.
Parameter:
email(erforderlich): E-Mail-Adresse, die vom Tracking ausgeschlossen werden solldomain_id(erforderlich): ID der Domain, für die der Tracking-Ausschluss gilt
delete-tracking-opt-out
Eine E-Mail-Adresse aus der Tracking-Ausschlussliste entfernen, damit das Öffnungs- und Klick-Tracking wieder für sie gilt.
Parameter:
tracking_opt_out_id(erforderlich): ID des zu löschenden Tracking-Ausschlusses
list-webhooks
Alle für das Konto konfigurierten Webhooks auflisten. Gibt die vollständigen Webhook-Datensätze als JSON zurück.
Parameter:
- Keine Parameter erforderlich
get-webhook
Einen einzelnen Webhook anhand seiner ID abrufen. Gibt den vollständigen Webhook-Datensatz als JSON zurück. Hinweis: signing_secret wird hier nicht zurückgegeben — es ist nur in der Antwort von create-webhook verfügbar.
Parameter:
webhook_id(erforderlich): ID des abzurufenden Webhooks
create-webhook
Einen Webhook erstellen. Die Antwort enthält ein signing_secret zur Überprüfung der Webhook-Payload-Signaturen — dieses Geheimnis wird nur bei der Erstellung zurückgegeben. Speichern Sie es daher jetzt. Wenn Sie es verlieren, erstellen Sie den Webhook neu.
Parameter:
url(erforderlich): URL, an die Mailtrap Webhook-Ereignisse per POST sendetwebhook_type(erforderlich):"email_sending","audit_log"oder"inbound_receiving"active(optional, boolean): standardmäßigtruepayload_format(optional):"json"oder"jsonlines". Standardmäßig"json"sending_stream(optional, nuremail_sending):"transactional"oder"bulk"event_types(optional, nuremail_sending): Array ausdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectdomain_id(optional, nuremail_sending): Domain-ID, auf die dieser Webhook beschränkt werden sollinbound_inbox_id(optional, nurinbound_receiving): ID des Posteingangs für eingehende E-Mails, mit dem der Webhook verknüpft ist; weglassen, um ihn auf alle Posteingänge des Kontos anzuwenden
update-webhook
Änderbare Felder eines Webhooks aktualisieren. webhook_type, sending_stream und domain_id können nach der Erstellung nicht geändert werden — erstellen Sie den Webhook neu, wenn Sie diese ändern müssen.
Parameter:
webhook_id(erforderlich): ID des zu aktualisierenden Webhooksurl(optional): Neue Webhook-URLactive(optional, boolean): Webhook aktivieren oder deaktivierenpayload_format(optional):"json"oder"jsonlines"event_types(optional, nuremail_sending): Array ausdelivery,soft_bounce,bounce,suspension,unsubscribe,open,spam_complaint,click,rejectinbound_inbox_id(optional, nurinbound_receiving): ID des Posteingangs für eingehende E-Mails, mit dem der Webhook verknüpft ist
delete-webhook
Einen Webhook anhand seiner ID dauerhaft löschen. Gibt den gelöschten Webhook-Datensatz zurück.
Parameter:
webhook_id(erforderlich): ID des zu löschenden Webhooks
get-contact
Einen Kontakt anhand seiner ID oder E-Mail-Adresse abrufen. Gibt den vollständigen Kontaktdatensatz zurück (Listenmitgliedschaften, Status, benutzerdefinierte Felder).
Parameter:
contact_identifier(erforderlich): Kontakt-ID oder E-Mail-Adresse
create-contact
Einen neuen Kontakt erstellen.
Parameter:
email(erforderlich): E-Mail-Adressefields(optional): Werte benutzerdefinierter Felder, zugeordnet über Merge-Tags (z. B.first_name). Werte als Zeichenfolge, Zahl oder Booleanlist_ids(optional): IDs der Kontaktlisten, für die dieser Kontakt angemeldet werden sollunsubscribed(optional, boolean): Kontakt mit dem Statusunsubscribederstellen
update-contact
Einen bestehenden Kontakt aktualisieren, der anhand seiner ID oder E-Mail-Adresse identifiziert wird. list_ids ersetzt die gesamte Mitgliedschaftsliste des Kontakts; list_ids_included/list_ids_excluded fügen Einträge hinzu oder entfernen sie, ohne den Rest zu ändern.
Parameter:
contact_identifier(erforderlich): Kontakt-ID oder E-Mail-Adresseemail(optional): Neue E-Mail-Adressefields(optional): Werte benutzerdefinierter Felder, zugeordnet über Merge-Tagslist_ids(optional): Mitgliedschaftsliste durch genau diese Liste ersetzenlist_ids_included(optional): Hinzuzufügende Listen-IDs (ergänzend)list_ids_excluded(optional): Zu entfernende Listen-IDsunsubscribed(optional, boolean): Aufunsubscribed(true) odersubscribed(false) setzen
delete-contact
Einen Kontakt anhand seiner ID oder E-Mail-Adresse dauerhaft löschen. Gibt den gelöschten Kontaktdatensatz zurück, wenn die API einen solchen bereitstellt; andernfalls wird eine Bestätigungs-Payload zurückgegeben.
Parameter:
contact_identifier(erforderlich): Kontakt-ID oder E-Mail-Adresse
create-contact-event
Ein Kontakt-Ereignis für einen Kontakt (anhand seiner ID oder E-Mail-Adresse) erfassen. Wird zum Auslösen von Automatisierungen für Kontaktlisten verwendet.
Parameter:
contact_identifier(erforderlich): Kontakt-ID oder E-Mail-Adressename(erforderlich): Ereignisname (entspricht den Automatisierungsauslösern)params(erforderlich): Objekt mit beliebigen Schlüssel-Wert-Paaren. Werte können Zeichenfolgen, Zahlen, Booleans oder null sein
list-contact-lists
Alle Kontaktlisten des Kontos auflisten.
Parameter:
search(optional): Kontaktlisten nach Namen filtern (Groß-/Kleinschreibung wird ignoriert), z. B.news
get-contact-list
Eine Kontaktliste anhand ihrer ID abrufen.
Parameter:
list_id(erforderlich): ID der abzurufenden Kontaktliste
create-contact-list
Eine neue Kontaktliste erstellen.
Parameter:
name(erforderlich): Name der neuen Liste
update-contact-list
Eine bestehende Kontaktliste umbenennen.
Parameter:
list_id(erforderlich): ID der Kontaktlistename(erforderlich): Neuer Name der Liste
delete-contact-list
Eine Kontaktliste anhand ihrer ID dauerhaft löschen.
Parameter:
list_id(erforderlich): ID der zu löschenden Kontaktliste
list-contact-fields
Alle Definitionen der Kontaktfelder des Kontos auflisten.
Parameter:
- Keine Parameter erforderlich
get-contact-field
Eine Definition eines Kontaktfelds anhand ihrer ID abrufen.
Parameter:
field_id(erforderlich): ID des Kontaktfelds
create-contact-field
Eine neue Definition eines Kontaktfelds erstellen. merge_tag muss innerhalb des Kontos eindeutig sein und wird als Platzhaltername in Vorlagenvariablen verwendet.
Parameter:
name(erforderlich): Anzeigename (z. B. "First Name")merge_tag(erforderlich): Eindeutiger Platzhaltername (z. B.first_name)data_type(erforderlich): Einer vontext,number,boolean,date
update-contact-field
Eine Definition eines Kontaktfelds aktualisieren. Eine beliebige Kombination aus name, merge_tag und data_type kann geändert werden.
Parameter:
field_id(erforderlich): ID des Kontaktfeldsname(optional): Neuer Anzeigenamemerge_tag(optional): Neuer Merge-Tag (muss eindeutig bleiben)data_type(optional): Einer vontext,number,boolean,date
delete-contact-field
Eine Definition eines Kontaktfelds anhand ihrer ID dauerhaft löschen.
Parameter:
field_id(erforderlich): ID des zu löschenden Kontaktfelds
create-contact-import
Kontakte gesammelt importieren. Gibt einen Importauftrag-Datensatz zurück; fragen Sie dessen Status mit get-contact-import ab.
Parameter:
contacts(erforderlich): Array mit Kontakteinträgen. Jeder Eintrag benötigt:email(erforderlich): E-Mail-Adresse des Kontaktsfields(optional): Werte benutzerdefinierter Felder, zugeordnet über Merge-Tags (Werte als Zeichenfolgen oder Zahlen)list_ids_included(optional): Listen-IDs, zu denen der Kontakt hinzugefügt werden solllist_ids_excluded(optional): Listen-IDs, aus denen der Kontakt entfernt werden soll
get-contact-import
Den Status eines Kontaktimportauftrags (created/started/finished/failed) mit der Anzahl erstellter, aktualisierter und über dem Limit liegender Kontakte abrufen.
Parameter:
import_id(erforderlich): ID des Kontaktimportauftrags
create-contact-export
Kontakte exportieren, die einer Reihe von UND-verknüpften Filtern entsprechen. Gibt einen Exportauftrag-Datensatz zurück; fragen Sie den Status mit get-contact-export ab, um die Download-URL abzurufen, sobald status finished ist.
Parameter:
filters(erforderlich): Array von Filterobjekten. Jedes enthält:name(erforderlich): Feld, nach dem gefiltert werden soll (list_id,subscription_status,emailusw.)operator(erforderlich): Einer der Werteequal,not_equal,contains,not_contains,is_empty,is_not_emptyvalue(erforderlich): Vergleichswert (String, Zahl, Boolean oder Array)
get-contact-export
Ruft den Status eines Kontakt-Exportauftrags ab. Sobald status den Wert finished hat, enthält das Feld url den CSV-Download-Link.
Parameter:
export_id(erforderlich): ID des Kontakt-Exportauftrags
list-email-campaigns
Listet die E-Mail-Kampagnen des Kontos in absteigender Reihenfolge nach Erstellungsdatum auf, mit Paginierung über Seitentoken. Optional kann mit search nach Namen gefiltert werden.
Parameter:
token(optional): Abzurufende Seitennummer (Paginierung über Seitentoken). Standardwert:1per_page(optional): Anzahl der Kampagnen pro Seite. Standardwert:50, Maximum:100search(optional): Kampagnen nach Namen filtern (nicht zwischen Groß- und Kleinschreibung unterscheidende Teilübereinstimmung)
get-email-campaign
Ruft eine E-Mail-Kampagne anhand ihrer ID ab.
Parameter:
email_campaign_id(erforderlich): ID der E-Mail-Kampagne
create-email-campaign
Erstellt eine neue E-Mail-Kampagne. Die Kampagne wird immer im Status draft erstellt; Planen und Starten erfolgen über separate Tools (schedule-email-campaign, start-email-campaign).
Parameter:
name(erforderlich): Kampagnennamedomain_id(erforderlich): ID der verifizierten Domain für die Kampagne, wie vonlist-domainszurückgegebenfrom_local_part(erforderlich): Lokaler Teil (vor dem @-Zeichen) der Absenderadressetemplate_attributes(erforderlich): Inline-E-Mail-Vorlage. Enthält:subject(erforderlich): Betreffzeile der E-Mail (max. 255 Zeichen). Unterstützt Merge-Tags, z. B.Hi {{first_name}}body_html(optional): HTML-Textkörper (das Design). Erforderlich, bevor die Kampagne geplant oder gestartet werden kann. Fügen Sie einen Abmeldelink über ein Ankerelement ein, dessenhrefden Platzhalter__unsubscribe_url__enthältbody_text(optional): Nur-Text-Alternative des E-Mail-Textkörpersmerge_tags(optional): Namen der Merge-Tags ohne weitere Angaben, auf die im Betreff/Textkörper verwiesen wird, z. B.["first_name"]
from_display_name(optional): Anzeigename im Absender-Headerreply_to(optional): Bestandteile der Antwortadresse (display_name,local_part,domain)delivery_mode(optional):rapid(so schnell wie möglich senden) odergradual(aufdelivery_options.emails_per_hourdrosseln)delivery_options(optional): Optionen zur Drosselung der Zustellung (emails_per_hour)contact_list_ids(optional): IDs der Kontaktlisten, an die gesendet werden soll (werden als vollständige Menge der eingeschlossenen Listen behandelt)contact_segment_ids(optional): IDs der Kontaktsegmente, an die gesendet werden soll (werden als vollständige Menge der eingeschlossenen Segmente behandelt)
update-email-campaign
Aktualisiert eine E-Mail-Kampagne im Status draft. Nur die angegebenen Felder werden geändert; die Vorlage wird direkt bearbeitet. Kampagnen in anderen Status können nicht aktualisiert werden.
Parameter:
email_campaign_id(erforderlich): ID der zu aktualisierenden E-Mail-Kampagne- Alle anderen Parameter sind optional und identisch mit
create-email-campaign(name,domain_id,from_local_part,from_display_name,reply_to,template_attributes,delivery_mode,delivery_options,contact_list_ids,contact_segment_ids)
delete-email-campaign
Löscht eine E-Mail-Kampagne anhand ihrer ID. Nur eine Kampagne im Status draft kann gelöscht werden.
Parameter:
email_campaign_id(erforderlich): ID der zu löschenden E-Mail-Kampagne
start-email-campaign
Startet den Versand einer E-Mail-Kampagne im Status draft sofort. Nur Kampagnen im Status draft können gestartet werden; die Vorlage muss ein body_html-Design haben, und Zielgruppe sowie verifizierte Domain müssen festgelegt sein.
Parameter:
email_campaign_id(erforderlich): ID der zu startenden E-Mail-Kampagne
schedule-email-campaign
Plant den Versand einer E-Mail-Kampagne im Status draft zu einem zukünftigen Zeitpunkt. Nur Kampagnen im Status draft können geplant werden.
Parameter:
email_campaign_id(erforderlich): ID der zu planenden E-Mail-Kampagnedatetime(erforderlich): Zeitpunkt für den Versand der Kampagne (ISO 8601). Muss in der Zukunft liegen und darf höchstens 1 Monat entfernt sein
cancel-email-campaign
Bricht eine E-Mail-Kampagne im Status scheduled ab und versetzt sie zurück in den Status draft. Nur Kampagnen im Status scheduled können abgebrochen werden.
Parameter:
email_campaign_id(erforderlich): ID der abzubrechenden E-Mail-Kampagne
terminate-email-campaign
Beendet eine E-Mail-Kampagne, die gerade versendet wird (started, queued oder paused), und bricht den laufenden Versand ab.
Parameter:
email_campaign_id(erforderlich): ID der zu beendenden E-Mail-Kampagne
reset-email-campaign
Setzt eine E-Mail-Kampagne im Status scheduled auf draft zurück. Nur Kampagnen im Status scheduled können zurückgesetzt werden.
Parameter:
email_campaign_id(erforderlich): ID der zurückzusetzenden E-Mail-Kampagne
get-email-campaign-stats
Ruft aggregierte Leistungsstatistiken für eine E-Mail-Kampagne ab (Anzahlen und Raten für Zustellungen, Öffnungen, Klicks, Bounces, Spam-Beschwerden und Abmeldungen).
Parameter:
email_campaign_id(erforderlich): ID der E-Mail-Kampagnestart_date(optional): Beginn des Aggregationszeitraums (einschließlich),YYYY-MM-DD. Standardmäßig der Tag, an dem die Kampagne zuletzt gestartet wurdeend_date(optional): Ende des Aggregationszeitraums (einschließlich),YYYY-MM-DD. Standardmäßig das aktuelle Datum
list-accounts
Listet die Mailtrap-Konten auf, auf die das aktuelle API-Token zugreifen kann, einschließlich der Zugriffsebenen für jedes Konto. Funktioniert ohne MAILTRAP_ACCOUNT_ID; verwenden Sie es daher, um Ihre Konto-ID zu ermitteln.
Parameter:
- Keine Parameter erforderlich
get-billing-usage
Ruft die Nutzung im aktuellen Abrechnungszeitraum für das Konto ab: Versand- und Testtarife, Limits und aktuelle Zählerstände.
Parameter:
- Keine Parameter erforderlich
list-account-accesses
Listet die Kontozugriffe (Benutzer, Einladungen, API-Tokens) für das Konto auf. Optionale Filter schränken das Ergebnis auf bestimmte Ressourcen ein. Erfordert Admin-/Inhaberberechtigungen für das Konto.
Parameter:
domain_uuids(optional): Nach Domain-UUIDs filtern (Array von Strings)inbox_ids(optional): Nach Sandbox-IDs filtern (Array von Strings)project_ids(optional): Nach Sandbox-Projekt-IDs filtern (Array von Strings)
remove-account-access
Entfernt einen Kontozugriff anhand seiner ID. Bei User-Bezeichnern werden die Berechtigungen widerrufen; bei Invite- oder ApiToken-Bezeichnern wird der Bezeichner vollständig entfernt. Erfordert Admin-/Inhaberberechtigungen.
Parameter:
account_access_id(erforderlich): ID des zu entfernenden Zugriffseintrags
get-permission-resources
Ruft alle Ressourcen (Sandboxes, Projekte, Domains, Abrechnung, Konto) ab, für die das API-Token über Adminzugriff verfügt, nach Hierarchie verschachtelt.
Parameter:
- Keine Parameter erforderlich
bulk-update-permissions
Erstellt, aktualisiert oder löscht Berechtigungen für einen einzelnen Kontozugriff in einem Schritt. Vorhandene (resource_type, resource_id)-Paare werden aktualisiert; neue werden erstellt. Setzen Sie destroy: true für einen Eintrag, um ihn zu entfernen.
Parameter:
account_access_id(erforderlich): ID des Ziel-Kontozugriffspermissions(erforderlich): Array von Berechtigungseinträgen. Jeder enthält:resource_id(erforderlich): Ressourcen-ID (Zahl oder String)resource_type(erforderlich): Einer der Werteaccount,project,inbox,domain,billingaccess_level(optional):admin/100oderviewer/10destroy(optional, Boolean): Bei true wird diese Berechtigung entfernt, anstatt erstellt oder aktualisiert zu werden
list-api-tokens
Listet alle API-Tokens für das Konto auf.
Parameter:
- Keine Parameter erforderlich
create-api-token
Erstellt ein neues API-Token. Die Antwort enthält den geheimen Wert token — dies ist das einzige Mal, dass das vollständige Token zurückgegeben wird. Speichern Sie es daher sofort. Wenn Sie es verlieren, erstellen Sie das Token neu.
Parameter:
name(erforderlich): Anzeigename für das Tokenexpires_at(optional): Ablaufdatum des Tokens als ISO-8601-Datum und -Uhrzeit. Für den Serverstandard (1 Jahr) weglassen; für ein Token ohne Ablaufdatum explizitnullübergeben. Werte in der Vergangenheit oder mehr als 5 Jahre in der Zukunft werden abgelehntresources(optional): Array von Ressourcenberechtigungen, auf die das Token beschränkt werden soll. Jeder Eintrag enthält:resource_type(erforderlich): Einer der Werteaccount,project,inbox,domain,billingresource_id(erforderlich): ID der Ressourceaccess_level(erforderlich):100(Admin) oder10(Betrachter)
get-api-token
Ruft ein API-Token anhand seiner ID ab. Gibt nur Metadaten zurück — der geheime Tokenwert wird hier nicht zurückgegeben (nur über create-api-token / reset-api-token).
Parameter:
api_token_id(erforderlich): ID des API-Tokens
reset-api-token
Setzt ein API-Token anhand seiner ID zurück (rotiert es). Die Antwort enthält den neuen geheimen Wert token — er wird nur bei diesem Aufruf zurückgegeben. Speichern Sie ihn daher sofort. Das vorherige Token wird ungültig.
Parameter:
api_token_id(erforderlich): ID des zurückzusetzenden API-Tokensexpires_at(optional): Ablaufdatum des neuen Tokens als ISO-8601-Datum und -Uhrzeit. Für den Serverstandard (1 Jahr) weglassen; für ein Token ohne Ablaufdatum explizitnullübergeben. Werte in der Vergangenheit oder mehr als 5 Jahre in der Zukunft werden abgelehnt
delete-api-token
Löscht ein API-Token anhand seiner ID dauerhaft. Nach dem Löschen kann sich das Token nicht mehr authentifizieren.
Parameter:
api_token_id(erforderlich): ID des zu löschenden API-Tokens
list-sub-accounts
Listet die Unterkonten der Organisation auf. Erfordert die Umgebungsvariable MAILTRAP_ORGANIZATION_ID und Berechtigungen zur Verwaltung von Unterkonten.
Parameter:
- Keine Parameter erforderlich
create-sub-account
Erstellt ein neues Unterkonto in der Organisation. Erfordert die Umgebungsvariable MAILTRAP_ORGANIZATION_ID und Berechtigungen zur Verwaltung von Unterkonten.
Parameter:
name(erforderlich): Anzeigename für das neue Unterkonto
delete-sub-account
Löscht ein Unterkonto anhand seiner ID dauerhaft und entfernt alle zugehörigen Daten. Wird das letzte Unterkonto gelöscht, wird die Organisation gelöscht; ein wiederholter Aufruf gibt 404 zurück. Eine gleichzeitige Löschung desselben Unterkontos gibt 409 zurück. Erfordert die Umgebungsvariable MAILTRAP_ORGANIZATION_ID und Adminberechtigungen für die Organisation. Außerdem muss für die Organisation die Funktion Organization & Sub-accounts aktiviert sein (andernfalls 403).
Parameter:
sub_account_id(erforderlich): ID des zu löschenden Unterkontos
list-inbound-folders
Listet alle Eingangsordner im Konto auf. Gibt eine formatierte Zusammenfassung zurück.
Parameter:
- Keine Parameter erforderlich
get-inbound-folder
Ruft einen einzelnen Eingangsordner anhand seiner ID ab. Gibt den vollständigen Ordnerdatensatz als JSON zurück.
Parameter:
folder_id(erforderlich): ID des Eingangsordners
create-inbound-folder
Erstellt einen neuen Eingangsordner.
Parameter:
name(erforderlich): Name des Ordners
update-inbound-folder
Benennt einen Eingangsordner um.
Parameter:
folder_id(erforderlich): ID des Eingangsordnersname(erforderlich): Neuer Ordnername
delete-inbound-folder
Löscht einen Eingangsordner dauerhaft zusammen mit allen zugehörigen Postfächern.
Parameter:
folder_id(erforderlich): ID des Eingangsordners
list-inbound-inboxes
Listet alle Postfächer in einem Eingangsordner auf. Gibt eine formatierte Zusammenfassung zurück.
Parameter:
folder_id(erforderlich): ID des Eingangsordners
get-inbound-inbox
Ruft ein einzelnes Eingangs-Postfach anhand seiner ID ab. Gibt den vollständigen Postfachdatensatz als JSON zurück.
Parameter:
folder_id(erforderlich): ID des Eingangsordnersinbox_id(erforderlich): ID des Postfachs
create-inbound-inbox
Erstellt ein neues Eingangs-Postfach in einem Ordner.
Parameter:
folder_id(erforderlich): ID des Eingangsordnersname(erforderlich): Name des Posteingangsdomain_id(optional): Einer benutzerdefinierten Domain zuordnen (Catch-all-Posteingang). Für einen von Mailtrap gehosteten Posteingang weglassen
update-inbound-inbox
Einen eingehenden Posteingang umbenennen.
Parameter:
folder_id(erforderlich): ID des Eingangsordnersinbox_id(erforderlich): ID des Posteingangsname(erforderlich): Neuer Name des Posteingangs
delete-inbound-inbox
Einen eingehenden Posteingang dauerhaft löschen.
Parameter:
folder_id(erforderlich): ID des Eingangsordnersinbox_id(erforderlich): ID des Posteingangs
list-inbound-messages
Empfangene Nachrichten in einem eingehenden Posteingang auflisten (cursorbasierte Paginierung). Gibt eine formatierte Zusammenfassung mit einem Hinweis auf die nächste Seite zurück, wenn weitere Ergebnisse vorhanden sind.
Parameter:
inbox_id(erforderlich): ID des Posteingangslast_id(optional): Paginierungscursor aus demlast_ideiner vorherigen Antwort
get-inbound-message
Eine einzelne eingehende Nachricht mit vollständigem Inhalt und Download-URLs für Anhänge abrufen. Gibt den vollständigen Nachrichtendatensatz als JSON zurück.
Parameter:
inbox_id(erforderlich): ID des Posteingangsmessage_id(erforderlich): ID der Nachricht
delete-inbound-message
Eine eingehende Nachricht dauerhaft löschen.
Parameter:
inbox_id(erforderlich): ID des Posteingangsmessage_id(erforderlich): ID der Nachricht
reply-to-inbound-message
Auf eine eingehende Nachricht antworten (wird an den ursprünglichen Absender gesendet). Sendet eine echte E-Mail. Adressen können als einfache E-Mail-Zeichenfolge oder als { email, name? } angegeben werden.
Parameter:
inbox_id(erforderlich): ID des Posteingangsmessage_id(erforderlich): ID der Nachricht, auf die geantwortet werden solltext/html(mindestens eines empfohlen): Antworttextfrom(optional): Absender. Für von Mailtrap gehostete Posteingänge abgelehnt; für Posteingänge mit benutzerdefinierter Domain erforderlichcc/bcc/reply_to(optional): Zusätzliche Adressencategory(optional): Nachrichtenkategorieattachments(optional): Array von{ content (base64), filename, type?, disposition?, content_id? }headers/custom_variables(optional): Objekte mit Zeichenfolgenwerten
reply-all-to-inbound-message
Auf eine eingehende Nachricht antworten und die anderen ursprünglichen Empfänger in Kopie setzen. Sendet eine echte E-Mail. Dieselben Parameter wie bei reply-to-inbound-message.
Parameter:
inbox_id(erforderlich): ID des Posteingangsmessage_id(erforderlich): ID der Nachricht, auf die geantwortet werden soll- Zusätzlich dieselben optionalen Sendefelder wie bei
reply-to-inbound-message
forward-inbound-message
Eine eingehende Nachricht an neue Empfänger weiterleiten. Sendet eine echte E-Mail.
Parameter:
inbox_id(erforderlich): ID des Posteingangsmessage_id(erforderlich): ID der weiterzuleitenden Nachrichtto(erforderlich): Mindestens ein Empfänger (einfache E-Mail-Zeichenfolge oder{ email, name? }, oder ein Array)- Zusätzlich dieselben optionalen Sendefelder wie bei
reply-to-inbound-message
list-inbound-threads
Konversationsthreads in einem eingehenden Posteingang auflisten (cursorbasierte Paginierung), optional gefiltert nach search. Gibt eine formatierte Zusammenfassung mit einem Hinweis auf die nächste Seite zurück, wenn weitere Ergebnisse vorhanden sind.
Parameter:
inbox_id(erforderlich): ID des Posteingangslast_id(optional): Paginierungscursor aus demlast_ideiner vorherigen Antwortsearch(optional): Groß-/Kleinschreibung ignorierender Text, der mit dem Betreff des Threads sowie den Absender-, Empfänger-, CC- und BCC-Adressen seiner Nachrichten abgeglichen wird. Bei der Paginierung denselben Wert übergeben
get-inbound-thread
Einen einzelnen eingehenden Thread mit eingebetteten Nachrichten abrufen (älteste zuerst). Gibt den vollständigen Thread-Datensatz als JSON zurück.
Parameter:
inbox_id(erforderlich): ID des Posteingangsthread_id(erforderlich): ID des Threads
delete-inbound-thread
Einen eingehenden Thread dauerhaft löschen.
Parameter:
inbox_id(erforderlich): ID des Posteingangsthread_id(erforderlich): ID des Threads
list-inbound-forward-rules
Die Weiterleitungsregeln eines eingehenden Posteingangs auflisten. Gibt eine formatierte Zusammenfassung zurück.
Parameter:
inbox_id(erforderlich): ID des Posteingangs
get-inbound-forward-rule
Eine einzelne eingehende Weiterleitungsregel anhand ihrer ID abrufen. Gibt den vollständigen Regeldatensatz einschließlich Bedingungen und Zielen als JSON zurück.
Parameter:
inbox_id(erforderlich): ID des Posteingangsforward_rule_id(erforderlich): ID der Weiterleitungsregel
create-inbound-forward-rule
Eine Weiterleitungsregel für einen eingehenden Posteingang erstellen. Empfangene Nachrichten, die alle Bedingungen erfüllen, werden an die Ziele der Regel weitergeleitet.
Parameter:
inbox_id(erforderlich): ID des Posteingangsname(erforderlich): Regelname, innerhalb des Posteingangs eindeutigconditions(optional): Array von{ match_type, operator, value?, header_key? }.match_typeistsender,recipientoderheader;operatoristequal,not_equal,contains,starts_with,ends_with,emptyodernot_empty(empty/not_emptynur fürheaderund ohnevalue);header_keyist fürheadererforderlich. Weglassen oder[]übergeben, um alle Nachrichten abzugleichendestinations(optional): Array von{ email }, an die passende Nachrichten weitergeleitet werden
update-inbound-forward-rule
Eine eingehende Weiterleitungsregel aktualisieren. Nur die angegebenen Felder werden geändert; ein angegebenes Array von conditions oder destinations ersetzt die gesamte Menge.
Parameter:
inbox_id(erforderlich): ID des Posteingangsforward_rule_id(erforderlich): ID der Weiterleitungsregelname(optional): Neuer Regelnameconditions(optional): Ersatz für die Bedingungsmenge (gleiche Struktur wie beim Erstellen);[]entfernt alle Bedingungen, sodass die Regel alle Nachrichten abgleichtdestinations(optional): Ersatz für die Zielmenge;[]entfernt alle Ziele
delete-inbound-forward-rule
Eine eingehende Weiterleitungsregel dauerhaft löschen.
Parameter:
inbox_id(erforderlich): ID des Posteingangsforward_rule_id(erforderlich): ID der Weiterleitungsregel
Entwicklung
- Repository klonen:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
- Abhängigkeiten installieren:
npm install
Konfiguration mit Claude Desktop oder Cursor
[!TIP] Den Speicherort der Konfigurationsdatei findest du im Abschnitt Einrichtung.
Füge die folgende Konfiguration hinzu:
{
"mcpServers": {
"mailtrap": {
"command": "node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
Wenn du asdf zur Verwaltung von Node.js verwendest, solltest du den absoluten Pfad zur ausführbaren Datei angeben:
(Beispiel für Mac)
{
"mcpServers": {
"mailtrap": {
"command": "/Users/<username>/.asdf/shims/node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"PATH": "/Users/<username>/.asdf/shims:/usr/bin:/bin",
"ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
"ASDF_DATA_DIR": "/Users/<username>/.asdf",
"ASDF_NODEJS_VERSION": "22.14.0",
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
VS Code
[!TIP] Den Speicherort der Konfigurationsdatei findest du im Abschnitt Einrichtung.
{
"mcp": {
"servers": {
"mailtrap": {
"command": "node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_SANDBOX_ID": "your_sandbox_id"
}
}
}
}
}
Testen
Tools mit echtem Mailtrap testen
Es gibt zwei Möglichkeiten, ein Tool durchgängig mit einem echten Mailtrap-Konto zu testen: die Browseroberfläche des MCP Inspector zur interaktiven Erkundung oder dessen CLI-Modus für einzelne Aufrufe über die Shell.
In beiden Fällen muss das Bundle zuerst erstellt werden:
npm run build
und MAILTRAP_API_TOKEN + MAILTRAP_ACCOUNT_ID müssen in deiner Shell exportiert sein (das Skript mcp:cli übergibt beide an den gestarteten Server).
Browseroberfläche
npm run dev
Der Inspector gibt eine URL wie http://localhost:6274 aus. Öffne sie, wechsle zum Tab Tools, wähle ein Tool aus (z. B. get-template), gib die Parameter als JSON ein und klicke auf Run. Die Mailtrap-Antwort wird im Bereich darunter angezeigt.
CLI
Für einzelne Aufrufe ohne Benutzeroberfläche verwende npm run mcp:cli. Übergib die CLI-Flags des Inspectors nach --, damit npm sie unverändert weiterleitet:
# List all tools
npm run mcp:cli -- --method tools/list
# Call a tool — flags after the `--`
npm run mcp:cli -- \
--method tools/call \
--tool-name get-template \
--tool-arg template_id=12345
# Multiple --tool-arg flags for tools with several params
npm run mcp:cli -- \
--method tools/call \
--tool-name send-domain-setup-instructions \
--tool-arg domain_id=3938 \
--tool-arg email=devops@example.com
MCPB-Server ausführen
# Run the MCPB server directly
node dist/mcpb-server.js
# Or use the provided binary
mailtrap-mcpb-server
[!TIP] Für die Entwicklung mit dem MCP Inspector:
npm run dev:mcpb
Fehlerbehandlung
Dieser Server verwendet eine strukturierte Fehlerbehandlung, die den MCP-Konventionen entspricht:
VALIDATION_ERROR: Fehler bei der EingabevalidierungCONFIGURATION_ERROR: Fehlende oder ungültige KonfigurationEXECUTION_ERROR: LaufzeitfehlerTIMEOUT: Zeitüberschreitung bei Vorgängen (standardmäßig 30 Sekunden)
Fehler enthalten umsetzbare Hinweise und werden in strukturierter Form protokolliert.
Sicherheit
- Eingaben werden mithilfe von Zod-Schemas validiert
- Umgebungsvariablen werden sicher verarbeitet
- Vorgänge sind durch eine Zeitüberschreitung geschützt (30 Sekunden)
- Vertrauliche Details werden in der Fehlerausgabe bereinigt
Protokollierung
Strukturierte JSON-Protokolle mit den Stufen INFO, WARN, ERROR, DEBUG.
Aktiviere die Debug-Protokollierung, indem du DEBUG=true setzt.
# Example: enable debug logging
DEBUG=true node dist/mcpb-server.js
Wichtig: Der Server schreibt Protokolle nach stderr, damit stdout für JSON-RPC-Frames reserviert bleibt. So werden JSON-Parsing-Fehler durch vermischte Protokolleinträge verhindert.
Beispiel für eine Protokollanalyse mit jq:
# Filter error logs
node dist/mcpb-server.js 2>&1 | jq 'select(.level == "error")'
# Filter debug logs
node dist/mcpb-server.js 2>&1 | jq 'select(.level == "debug")'
Fehlerbehebung
Häufige Probleme:
- API-Token fehlt: Stelle sicher, dass
MAILTRAP_API_TOKENgesetzt ist - Sandbox funktioniert nicht: Übergib
sandbox_idim Tool-Aufruf (oder das veraltetetest_inbox_idbei den Tools zum Senden, Auflisten und Anzeigen von Nachrichten) oder setze die UmgebungsvariableMAILTRAP_SANDBOX_ID - Zeitüberschreitungsfehler: Überprüfe die Netzwerkverbindung und den Status der Mailtrap-API
- Validierungsfehler: Stelle sicher, dass alle erforderlichen Felder angegeben sind
Mitwirken
Fehlerberichte und Pull Requests sind auf GitHub willkommen. Dieses Projekt soll ein sicherer und einladender Ort für Zusammenarbeit sein. Von Mitwirkenden wird erwartet, dass sie sich an den Verhaltenskodex halten.
Lizenz
Das Paket ist als Open Source unter den Bedingungen der MIT-Lizenz verfügbar.
Verhaltenskodex
Von allen, die mit den Codebasen, Issue-Trackern, Chaträumen und Mailinglisten des Mailtrap-Projekts interagieren, wird erwartet, dass sie den Verhaltenskodex befolgen.