DE
Anmelden Konto erstellen

So installierst du Mailpit auf Saplo (SMTP-Catcher zum Testen von ausgehenden E-Mails)

Eine Test-E-Mail mit einem Passwort-Reset oder einer Rechnung, die versehentlich an die echte E-Mail-Adresse eines Kunden gesendet wird, ist einer dieser Fehler, die man lange in Erinnerung behält. Mailpit ist ein Open-Source-SMTP-Catcher, der jede von deiner Anwendung über SMTP gesendete E-Mail abfängt und sie in einem Webpanel anzeigt, anstatt sie in die Welt zu schicken. Mit einem Klick auf deiner eigenen Box installiert.

Grzegorz Kalmus ·

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

  1. Gehe im Saplo-Panel zum App-Katalog und wähle Mailpit (Kategorie "Tools").
  2. 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.
  3. 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.
  4. Nach docker compose up prüft die Engine, ob das Panel tatsächlich auf HTTP antwortet, bevor die Installation als abgeschlossen gilt.
  5. Die SMTP-Verbindungsdaten für andere Anwendungen auf derselben Box (Host, Port) werden in die Datei MAILPIT-SETUP.txt im 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.

  1. 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.
  2. Gib in der SMTP-Konfiguration deiner Anwendung (WordPress, Django, Node) auf demselben Box den Host 127.0.0.1 und den Port ein, der in der Datei MAILPIT-SETUP.txt angegeben ist. Benutzername und Passwort können beliebig sein, Mailpit akzeptiert alle Anmeldedaten.
  3. 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.
  4. 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.
  5. 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