54 lines
1.2 KiB
Markdown
54 lines
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."
|
||
|
```
|