MailCatcher NG
MailCatcher NG runs a super simple SMTP server which catches any message sent to it to display in a web interface. Point your app's SMTP settings at mailcatcher-ng:1025 and inspect every captured email in the browser.
Configuration
services:
mailcatcher-ng:
# Only the "latest" tag is published, so the image is pinned by digest
# (v2.3.9 of the image, MailCatcher NG 1.6.8).
image: stpaquet/alpinemailcatcher:latest@sha256:499c0eabca5e82b23d030706ba9d5b8b27bba5a5f34a43154ee5e68b07cba52c
restart: unless-stopped
# Same as the image default CMD, plus --persistence so caught mail
# survives container restarts (stored in the named volume below).
command: sh -c "mailcatcher --foreground --smtp-port=1025 --http-port=1080 --ip=0.0.0.0 --messages-limit=$$MAIL_LIMIT --persistence --no-quit"
environment:
- MAIL_LIMIT=${MAIL_LIMIT}
expose:
# SMTP: reachable from other services in the same Dokploy network
# at mailcatcher-ng:1025 (intentionally not published on the host).
- 1025
# Web UI (routed through the domain below)
- 1080
volumes:
- mailcatcher-data:/home/mailcatcher/.mailcatcher
healthcheck:
test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:1080']
interval: 10s
timeout: 5s
retries: 10
volumes:
mailcatcher-data:[variables]
main_domain = "${domain}"
[config]
env = [
"MAIL_LIMIT=50",
]
mounts = []
[[config.domains]]
serviceName = "mailcatcher-ng"
port = 1_080
host = "${main_domain}"Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBtYWlsY2F0Y2hlci1uZzpcbiAgICAjIE9ubHkgdGhlIFwibGF0ZXN0XCIgdGFnIGlzIHB1Ymxpc2hlZCwgc28gdGhlIGltYWdlIGlzIHBpbm5lZCBieSBkaWdlc3RcbiAgICAjICh2Mi4zLjkgb2YgdGhlIGltYWdlLCBNYWlsQ2F0Y2hlciBORyAxLjYuOCkuXG4gICAgaW1hZ2U6IHN0cGFxdWV0L2FscGluZW1haWxjYXRjaGVyOmxhdGVzdEBzaGEyNTY6NDk5YzBlYWJjYTVlODJiMjNkMDMwNzA2YmE5ZDViOGIyN2JiYTVhNWYzNGE0MzE1NGVlNWU2OGIwN2NiYTUyY1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgIyBTYW1lIGFzIHRoZSBpbWFnZSBkZWZhdWx0IENNRCwgcGx1cyAtLXBlcnNpc3RlbmNlIHNvIGNhdWdodCBtYWlsXG4gICAgIyBzdXJ2aXZlcyBjb250YWluZXIgcmVzdGFydHMgKHN0b3JlZCBpbiB0aGUgbmFtZWQgdm9sdW1lIGJlbG93KS5cbiAgICBjb21tYW5kOiBzaCAtYyBcIm1haWxjYXRjaGVyIC0tZm9yZWdyb3VuZCAtLXNtdHAtcG9ydD0xMDI1IC0taHR0cC1wb3J0PTEwODAgLS1pcD0wLjAuMC4wIC0tbWVzc2FnZXMtbGltaXQ9JCRNQUlMX0xJTUlUIC0tcGVyc2lzdGVuY2UgLS1uby1xdWl0XCJcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gTUFJTF9MSU1JVD0ke01BSUxfTElNSVR9XG4gICAgZXhwb3NlOlxuICAgICAgIyBTTVRQOiByZWFjaGFibGUgZnJvbSBvdGhlciBzZXJ2aWNlcyBpbiB0aGUgc2FtZSBEb2twbG95IG5ldHdvcmtcbiAgICAgICMgYXQgbWFpbGNhdGNoZXItbmc6MTAyNSAoaW50ZW50aW9uYWxseSBub3QgcHVibGlzaGVkIG9uIHRoZSBob3N0KS5cbiAgICAgIC0gMTAyNVxuICAgICAgIyBXZWIgVUkgKHJvdXRlZCB0aHJvdWdoIHRoZSBkb21haW4gYmVsb3cpXG4gICAgICAtIDEwODBcbiAgICB2b2x1bWVzOlxuICAgICAgLSBtYWlsY2F0Y2hlci1kYXRhOi9ob21lL21haWxjYXRjaGVyLy5tYWlsY2F0Y2hlclxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogWydDTUQnLCAnd2dldCcsICctcScsICctLXNwaWRlcicsICdodHRwOi8vMTI3LjAuMC4xOjEwODAnXVxuICAgICAgaW50ZXJ2YWw6IDEwc1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDEwXG5cbnZvbHVtZXM6XG4gIG1haWxjYXRjaGVyLWRhdGE6XG4iLAogICJjb25maWciOiAiW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxuXG5bY29uZmlnXVxuZW52ID0gW1xuICBcIk1BSUxfTElNSVQ9NTBcIixcbl1cbm1vdW50cyA9IFtdXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcIm1haWxjYXRjaGVyLW5nXCJcbnBvcnQgPSAxXzA4MFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuIgp9Links
Tags
email, smtp, development
Version: 1.6.8