MailHog som tjeneste

Sette opp Mailhog på en Debian 12-server

0 kommentar(er)

Mailhog er et utrolig nyttig verktøy for å fange e-post som sendes fra en utviklingsapplikasjon. Men jeg vil ikke ha det til å starte og stoppes manuelt, jeg vil at det skal være tilgjengelig automatisk ved oppstart av systemet, spesielt i mitt utviklingsmiljø. Her er hvordan du gjør MailHog til en virkelig tjener på Debian 12.

📦 1. Forutsetninger


Sjekk om du allerede har installert Mailhog uten Docker (som også kan være en mulig løsning) :

Bash
which mailhog

Hvis ikke, ser jeg deg tilbake til mitt artikkel:

PHP / WEB-UTV – Send e-post uten SMTP

🎯 2. Målsetting


Start MailHog automatisk ved hvert systemoppstart, uten manuell inngrep, som en vanlig Debian-tjener.

👤 3. Steg 1: Opprett et dedikert brukerkonto


Vi unnger å kjøre Mailhog under root-brukeren. Lag et systembruker uten shell eller hjemmefil:

Bash
sudo useradd --system --no-create-home --shell /usr/sbin/nologin mailhog

⚙️ 4. Steg 2: Opprett en systemd-tjeneste-fil


Opprett en fil med navnet mailhog.service i den tilhørende tjenestemappe:

Bash
sudo nano /etc/systemd/system/mailhog.service

Legg inn følgende innhold for vår tjener:

Bash
[Unit]
Description=MailHog service
After=network.target
[Service]
# eller stien din, f.eks. den go install gir: ~/go/bin/mailhog
ExecStart=/usr/local/bin/mailhog
Restart=always
User=mailhog
Group=mailhog
Environment="MH_API_BIND_ADDR=0.0.0.0:8025" "MH_UI_BIND_ADDR=0.0.0.0:8025" "MH_SMTP_BIND_ADDR=0.0.0.0:1025"
[Install]
WantedBy=multi-user.target

💡 Her eksponerer vi:

MailHogs web/API på :8025
SMTP-serveren på :1025

🔁 5. Steg 3: Aktiver og start tjenesten


Vi laster om systemd og aktiver tjenesten slik at den starter ved oppstart:

Bash
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable mailhog
sudo systemctl start mailhog

✅ Steg 4: Sjekk at det fungerer


Et lite sjekk for å verifisere at vår tjeneste kjører:

Bash
systemctl status mailhog

Vi bør se en aktiv status.

Hvis nødvendig, kan du se loggene i realtid:

Bash
journalctl -u mailhog -f

🚀 Resultat

På hver oppstart starter MailHog automatisk. Du kan få tilgang til webgruppen på:

http://localhost:8025

Neste er å konfigurere din applikasjon for å sende e-poster via localhost:1025. 🛡️ Sikkerhetsbonus

Hvis nødvendig, kan du begrense tilgangen til webgruppen hvis serveren er eksponert. MailHog har ingen inbygd autentiseringssystem, så en liten ufw, et NGINX-proxy med passord eller en firewall anbefales.

Du liker kanskje også:

Kommentarer

Ingen godkjente kommentarer ennå.

Logg inn med en kommentatorkonto for å publisere en kommentar. Logg inn.