54 lines
No EOL
1.2 KiB
Markdown
54 lines
No EOL
1.2 KiB
Markdown
# Mailhog
|
|
|
|
[MailHog is an email testing tool for developers](https://github.com/mailhog/MailHog).
|
|
|
|
## 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:
|
|
|
|
```yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: mailhog
|
|
spec:
|
|
ports:
|
|
- name: smtp
|
|
port: 1025
|
|
```
|
|
|
|
## Ingress
|
|
|
|
Mailhog offers both WebUi and API at `https://factory.c-one-infra.de/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
|
|
|
|
```yaml
|
|
spec:
|
|
rules:
|
|
- host: factory.c-one-infra.de
|
|
http:
|
|
paths:
|
|
- backend:
|
|
...
|
|
path: /mailhog
|
|
```
|
|
|
|
## API
|
|
|
|
For usage of the API see https://github.com/mailhog/MailHog/blob/master/docs/APIv2.md
|
|
|
|
## Tests
|
|
|
|
```bash
|
|
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."
|
|
``` |