stacks_adding_alloy/template/stacks/ref-implementation/mailhog
2025-03-24 17:09:44 +01:00
..
deployment.yaml feat(mailhog): IPCEICIS-3048 - mailhog deployed, ingress is https://<URL>/mailhog, forgje is configured 2025-03-20 23:57:52 +01:00
README.md feat(mailhog): IPCEICIS-3048 - added documentation 2025-03-24 17:09:44 +01:00
service.yaml feat(mailhog): IPCEICIS-3048 - mailhog deployed, ingress is https://<URL>/mailhog, forgje is configured 2025-03-20 23:57:52 +01:00

Mailhog

MailHog is an email testing tool for developers.

In cluster SMTP service

Ypu can send ESMTP emails in the cluster to mailhog.mailhog.svc.cluster.local, standard port 1025, as defined in the service manifest:

apiVersion: v1
kind: Service
metadata:
  name: mailhog
spec:
  ports:
    - name: smtp
      port: 1025

Ingress

Mailhog offers both WebUi and API at https://{{{ .Env.DOMAIN }}}/mailhog.

The ingress definition is in stacks/core/ingress-apps/mailhog.yaml (BTW, why isn't this ingress file here in this folder ??) routing to the mailhog' service

spec:
  rules:
  - host: {{{ .Env.DOMAIN }}}
    http:
      paths:
      - backend:
        ...
        path: /mailhog

API

For usage of the API see https://github.com/mailhog/MailHog/blob/master/docs/APIv2.md

Tests

kubectl run busybox --rm -it --image=busybox -- /bin/sh

# inside bsybox
wget -O- http://mailhog.mailhog.svc.cluster.local:8025/mailhog

# check smtp port
nc -zv mailhog.mailhog.svc.cluster.local 1025

# send esmtp, first install swaks
swaks --to test@example.com --from test@example.com --server mailhog:1025 --data "Subject: Test-Mail\n\nDies ist eine Test-Mail."