Das Testen von E-Mail-Benachrichtigungen aus der eigenen Anwendung hat ein wiederkehrendes Problem: Wenn die Anwendung E-Mails über echten SMTP versendet, führt früher oder später ein Tippfehler in den Testdaten oder eine vergessene Umstellung der Umgebung dazu, dass ein Test-Passwort-Reset oder eine Rechnung an die Mailbox eines echten Kunden gesendet wird. Mailtrap löst dies in der Cloud, aber mit einem Abonnement, das mit der Anzahl der gesendeten E-Mails wächst. Mailpit ist ein Open-Source-SMTP-Catcher, den du auf deiner eigenen Box installierst. Er fängt jede E-Mail ab, die deine Anwendung über SMTP versendet, und zeigt sie in einem Webpanel an, ohne E-Mail-Limit und ohne monatliche Gebühren. Im Folgenden erfährst du Schritt für Schritt, wie du Mailpit auf Saplo einrichtest.
Warum Mailpit statt Versand an ein echtes Postfach oder Mailtrap
Das Testen von E-Mails ohne einen dedizierten Catcher läuft normalerweise auf eine von zwei Arten ab, und beide haben Nachteile:
- Versand an ein echtes Testpostfach - funktioniert, bis jemand eine Umgebungsvariable oder die Empfängeradresse in den Testdaten verwechselt, und dann landet die Test-E-Mail dort, wo sie nicht hingehört.
- Mailtrap und ähnliche Cloud-Dienste - lösen dieses Problem, kosten aber, und das Limit der abgefangenen E-Mails im kostenlosen Plan ist schneller erreicht, als das Team die Tests beenden kann.
Mailpit läuft als einzelner Docker-Container auf deiner Box, sodass jede E-Mail, die per SMTP von der Anwendung gesendet wird, lokal abgefangen wird, ohne Nachrichtenlimit und ohne das Risiko, dass etwas an einen echten Empfänger gelangt.
Mailpit, Mailtrap und MailHog
Mailpit ist der direkte Nachfolger von MailHog, einem Projekt, das schon seit Längerem nicht mehr weiterentwickelt wird. Die natürliche Frage ist also, worin sich Mailpit von beiden unterscheidet:
- Mailtrap ist ein Cloud-Service mit einem kostenlosen monatlichen Limit für die Anzahl der abgefangenen E-Mails. Es ist praktisch, da du nichts einrichten musst, aber kostenpflichtig bei höherem Testaufkommen und wenn du deine Daten bei einem Drittanbieter hast.
- MailHog ist ein älteres Projekt mit einer sehr ähnlichen Funktion, aber ohne aktive Weiterentwicklung seit Jahren, wodurch es keine Updates oder neuen Funktionen mehr erhält.
- Mailpit kombiniert die Vorteile beider: Es wird aktiv weiterentwickelt, so wie MailHog es einmal war, und du kannst es auf deiner eigenen Box installieren, wie Mailtrap, jedoch ohne E-Mail-Limit und ohne Kosten für den Testverkehr.
Wenn dein Team viele E-Mail-Benachrichtigungen testet und volle Kontrolle darüber haben möchte, ohne Limits im kostenlosen Plan und ohne auf ein veraltetes Projekt warten zu müssen, ist Mailpit die beste Wahl.
Anforderungen
Um Mailpit auf Saplo einzurichten, benötigst du:
- Eine Box mit laufendem Docker (die Engine startet es automatisch bei der Installation aus dem Katalog, Container-Nesting ist erforderlich, was Saplo standardmäßig bietet),
- mindestens 256 MB freien RAM auf der Box und 2 GB Festplattenspeicher, d.h. der Box S Plan ist ausreichend,
- eine Domain oder Subdomain
*.saploapp.pl, die in jedem Plan enthalten ist, unter der das Panel zur E-Mail-Vorschau verfügbar sein wird, - du benötigst KEINE separate Datenbank - Mailpit speichert abgefangene E-Mails in einer eigenen SQLite-Datei im Datenvolumen.
Schritt-für-Schritt-Installation
- Gehe im Saplo-Panel zum App-Katalog und wähle Mailpit (Kategorie "Tools").
- Wähle die Box mit mindestens 256 MB freiem RAM, auf der der Catcher installiert werden soll, und die Domain oder Subdomain, unter der das Panel laufen wird.
- Bestätige die Installation. Die Engine erstellt einen Container aus dem offiziellen Image
axllent/mailpit, generiert einen zufälligen SMTP-Port und stellt das Webpanel ausschließlich auf dem Loopback der Box bereit, das mit Nginx verbunden ist und es unter der angegebenen Domain mit kostenlosem SSL bereitstellt. Nur das Panel ist nach außen zugänglich, der SMTP-Port ist ausschließlich lokal auf der Box verfügbar. - Nach
docker compose upprüft die Engine, ob das Panel tatsächlich auf HTTP antwortet, bevor die Installation als abgeschlossen gilt. - Die SMTP-Verbindungsdaten für andere Anwendungen auf derselben Box (Host, Port) werden in die Datei
MAILPIT-SETUP.txtim Anwendungsverzeichnis geschrieben.
Erste Konfiguration
Mailpit hat, im Gegensatz zu Chatwoot oder Directus, keine Konten oder Anmeldedaten für das Panel. Es ist eine Sandbox für Tests, kein echter E-Mail-Dienst, daher ist das Panel direkt nach der Installation zugänglich.
- Gehe zu deiner Domainadresse, zum Beispiel
poczta-test.saploapp.pl, und du siehst eine leere Liste abgefangener E-Mails, bereit für die erste Nachricht. - Gib in der SMTP-Konfiguration deiner Anwendung (WordPress, Django, Node) auf demselben Box den Host
127.0.0.1und den Port ein, der in der DateiMAILPIT-SETUP.txtangegeben ist. Benutzername und Passwort können beliebig sein, Mailpit akzeptiert alle Anmeldedaten. - Sende eine Test-E-Mail von der Anwendung, zum Beispiel eine Passwortzurücksetzung oder eine Bestellbenachrichtigung, und aktualisiere das Mailpit-Panel. Die Nachricht erscheint in der Liste mit einer Vorschau des HTML- und Textinhalts sowie der Anhänge.
- Jede abgefangene E-Mail kannst du öffnen, die SMTP-Header überprüfen und sehen, wie sie im E-Mail-Client aussieht, ohne das Risiko, dass etwas an einen echten Empfänger gelangt.
- Keine von Mailpit abgefangene E-Mail wird weitergeleitet. Es handelt sich ausschließlich um eine lokale Vorschau für Testzwecke.
Mailpit auf Saplo vs. Mailtrap und MailHog
| Mailtrap Cloud | MailHog | Mailpit auf Saplo | |
|---|---|---|---|
| E-Mail-Limit | Ja, im kostenlosen Plan | Nein | Nein |
| Aktive Entwicklung | Ja | Nein | Ja |
| Wo die Inhalte der abgefangenen E-Mails liegen | Auf dem Server des Anbieters | Auf deinem Server | Auf deiner Box |
| Kosten | Abonnement nach Überschreiten des Limits | Kosten des eigenen Servers | Kosten der Box |
Häufig gestellte Fragen
Leitet Mailpit E-Mails an echte Empfänger weiter? Nein, jede E-Mail, die per SMTP an Mailpit gesendet wird, wird ausschließlich abgefangen und im Dashboard angezeigt. Sie gelangt niemals an einen echten Empfänger.
Muss ich echte SMTP-Anmeldedaten in der Anwendung angeben? Nein, Mailpit akzeptiert beliebige Benutzer und Passwörter, da es nur eine Testsendung abfängt und kein echter Mailserver ist.
Wie unterscheidet sich Mailpit von MailHog, wenn sie dasselbe tun? Mailpit ist der aktiv entwickelte Nachfolger von MailHog, einem Projekt, das seit längerer Zeit keine Updates mehr erhält.
Ist Mailpit für den produktiven Versand geeignet? Nein, es ist ausschließlich eine Sandbox für Tests - für den echten Versand benötigst du ein separates Postfach oder einen Transaktionsdienst.
Wenn dein Team E-Mail-Benachrichtigungen von deiner eigenen Anwendung testet und sicherstellen möchte, dass keine Test-E-Mail an einen echten Kunden gesendet wird, kontaktiere uns, wir helfen dir gerne bei der Auswahl der richtigen Box für dein Team.
- #DevOps
- #Mailpit
- #Anleitung
- #SMTP
- #Tests
