Ausgehend (SMTP)
Mailoo versendet E-Mails über drei verschiedene Ebenen. Jede Ebene hat eigene Zugangsdaten, Sicherheitsgrenzen und vorgesehene Empfänger.
::: {.contents local="" depth="2"} :::
1. Integrations-SMTP (outboundMail)
Was: SMTP-Einstellungen, die auf einer bestimmten Integration unter integration.config.outboundMail gespeichert sind (Dashboard: Connection & settings → Outbound email (SMTP)).
Wer erhält die E-Mails: Endbenutzer und Geschäftsabläufe für diese Integration, beispielsweise:
- Dashboard Create reply auf eingehende Nachrichten (FORM / CONTACT_FORM).
- Optionale Willkommensmail nach einer neuen Formularanmeldung, wenn eine
ON_EVENT/SUBSCRIBER_CREATED-Kampagne konfiguriert ist. - Transaktionaler Einzelempfängerversand: Server-zu-Server
POST …/webhooks/transactional/…/send(Berechtigungtransactional.send) -- siehetransactional-email{.interpreted-text role="doc"}. - Markt-E-Mail-Checkout: Bestätigungsmail an den Käufer nach
POST …/market/…/orders(dasselbeoutboundMailwie die Markt-Integration, der der Katalog gehört).
API: Nur-Eigentümer-Bearer-Routen zum Patchen der Integrationskonfiguration / outboundMail und zum Testen des SMTP:
POST /api/v1/projects/{projectUid}/integrations/{integrationId}/outbound-mail/test
Unterstützte Integrationstypen für dieses Panel und diese Testroute: FORM, CONTACT_FORM und MARKET.
Sicherheit: SMTP-Passwörter werden verschlüsselt gespeichert (API-Umgebungsvariable MAIL_SMTP_ENCRYPTION_KEY). Die API gibt weder Chiffretext noch Klartext an Clients zurück; Antworten können lediglich hasSmtpPassword enthalten.
Kein Fallback: Wenn Integrations-SMTP fehlt, ungültig ist oder der Versand fehlschlägt, ersetzt Mailoo nicht den globalen Mailer. Dashboard Create reply gibt einen Fehler zurück, wenn SMTP nicht konfiguriert ist; Willkommensmails werden übersprungen und protokolliert, wenn SMTP nicht verfügbar ist; Marktbestellungen geben emailToCustomer.status: NOT_CONFIGURED zurück, wenn outboundMail nicht gesetzt ist.
Erforderlich auf dem API-Host zum Verschlüsseln der SMTP-Passwörter: MAIL_SMTP_ENCRYPTION_KEY.
2. Angebotsgenerator-SMTP (getrennt von outboundMail)
Was: Pro-Angebotsgenerator-Maileinstellungen in OfferGeneratorMailSettings (nicht integration.config.outboundMail).
Wer erhält die E-Mails: Assistenten-Absender (Kundenlieferung) und optionale interne Benachrichtigungs-Adresse, die am Generator konfiguriert ist.
Warum getrennt: Der Angebotsgenerator kann anderes Branding, andere Relay-Limits oder andere Operatoren verwenden als der Rest der Markt-Integration.
Diese Version führt Angebotsgenerator-SMTP nicht mit Integrations-outboundMail zusammen.
3. Globales / Plattform-SMTP (GLOBAL_SMTP_*, GLOBAL_MAIL_FROM)
Was: Umgebungsvariablen ausschließlich auf dem API-Host.
Vorgesehene Verwendung: Reserviert für Betreiber-/Plattform-Benachrichtigungen (Abrechnung, Sicherheitswarnungen, Compliance, zukünftige Systemmail). Nicht für Abonnenten-E-Mails, Markt-Käuferbestätigungen oder Angebotsgenerator-Zustellung verwendet.
Aktuelles Produktverhalten: Keine benutzerseitige Funktion hängt in dieser Version vom globalen SMTP ab; konfigurieren Sie es, wenn Sie E-Mails auf Plattformebene einführen.
Kein Fallback: Globales SMTP wird niemals ersetzt, wenn Integrations-SMTP fehlschlägt.
Externe ausgehende E-Mails (Integrator-Websites)
Unterstützt: Server- oder BFF-Aufrufe an Mailoo-APIs, die eine ausgehende Nachricht innerhalb der Integration erstellen und Mailoo über outboundMail versenden lassen. Beispiele:
- Transaktionsversand ---
POST …/webhooks/transactional/…/send(Berechtigungtransactional.send): speichertMessage,TransactionalSend, Abonnenten-Sync, Tracking, optionale Delivery-Webhooks. Siehetransactional-email{.interpreted-text role="doc"}. - Marktbestellung erstellen --- Käuferbestätigung nach
POST …/market/…/orders.
Nicht unterstützt: Mailoo als zustandsloses SMTP-Relay oder stillen Versand ohne Mailoo-Nachrichtendatensätze behandeln:
- Betten Sie
outboundMail-SMTP-Host/Benutzer/Passwort nicht in Integrator-Code oder öffentliche Browser-Bundles ein. - Erwarten Sie keine „Sende diese rohe MIME sofort"-API ohne
Message- / Abonnenten- / Abmelde-Lifecycle.
Integratoren, die volle Kontrolle über die Zustellungsinfrastruktur benötigen, sollten ihren eigenen Mailer im Backend verwenden. Mailoo's externer Weg ist immer Mailoo-seitige Verarbeitung auslösen (Prüfprotokolle, Einwilligung, Idempotenz), nicht Zugangsdaten-Export.
Unter Connection & settings → Outbound email (SMTP) verwenden Sie Send test email, um die aktuellen Feldwerte zu prüfen (Sie müssen vorher nicht speichern). Mailoo sendet eine Nachricht an Ihre Mailoo-Konto-E-Mail (den angemeldeten Benutzer). Durch den Test allein wird nichts gespeichert; das Speichern erfolgt weiterhin über Save SMTP settings.
From-Adresse-Format (erforderlich): eine einfache E-Mail (news@yourdomain.com) oder Anzeigename plus Adresse in spitzen Klammern (Newsletter <news@yourdomain.com>). Ein reiner Anzeigename (z. B. Consolieri Team) wird beim Speichern und Testen mit 400 abgelehnt -- ohne addr-spec lehnen viele Empfänger (einschließlich Gmail) mit From header is missing ab.
Grüner Test ≠ Posteingang: HTTP 200 / UI-Erfolg bedeutet, dass die SMTP-Übermittlung die Nachricht akzeptiert hat. Dies garantiert nicht, dass der entfernte MTA in das Empfänger-Postfach zugestellt hat. Asynchrone Bounces nach der Annahme werden in der Testantwort nicht angezeigt.
Eine erfolgreiche Test-JSON-Antwort enthält sentTo sowie, wenn verfügbar, messageId und smtpResponse.
Wenn auf dem API-Host MAIL_SMTP_ENCRYPTION_KEY fehlt und Sie ein neues SMTP-Passwort im Formular eingeben, geben Speichern und Testen 503 mit einer klaren Konfigurationsmeldung zurück -- setzen Sie den Schlüssel auf der API (gleicher Wert auf jedem Replikat), z. B. openssl rand -base64 32.
Eigentümer-API (optional)
Wie der Dashboard-Test: POST /api/v1/projects/{projectUid}/integrations/{integrationId}/outbound-mail/test mit Bearer-Authentifizierung; der Body { "outboundMail": { … } } entspricht der Form des PATCH-outboundMail-Feldes.