Skip to content

Docker Mailserver based on the famous ISPMail guide

License

Notifications You must be signed in to change notification settings

jeboehm/docker-mailserver

Repository files navigation

docker-mailserver

Docker Mailserver based on the famous ISPMail guide. All images are based on Alpine Linux and are so small as possible.

Changelog

Build status

Integration Tests Build unofficial-sigs Lint Code Base Publish release Update Helm repository

Features

  • POP3, IMAP, SMTP with user authentication
  • TLS enforced
  • Webmail interface
  • Server-side mail filtering, rule configuration via web frontend
  • Spam- and malware filter
  • Catchall address support
  • Restricted sender addresses
  • Spamfilter is trained just by moving emails to or out of the junk folder
  • Uses RBL (real time black hole lists) to block already known spam senders
  • Greylisting only when incoming mail is likely spam
  • DKIM message signing
  • Quota support
  • Notifications when exceeding the quota
  • Web management interface to create / remove accounts, domains and aliases
  • Support of send only accounts which are not allowed to receive but send mails
  • IMAP, POP3 and malware filters can be disabled if they are not used
  • FTS (Full-Text Search) support using fts-xapian for fast message searching
  • Permanent self testing by Docker's healthcheck feature
  • Developed with high quality assurance standards
  • Address extension (-)

Installation (basic setup)

  1. Run git clone [email protected]:jeboehm/docker-mailserver.git
  2. Copy the file .env.dist to .env and change the variables in it according to your needs. The variables are described in the Wiki.
  3. Run bin/production.sh pull to download the images.
  4. Run bin/production.sh up -d to start the services.
  5. After a few seconds you can access the services listed in the paragraph Services.
  6. Create your first email address and an admin user by running bin/production.sh run --rm web setup.sh. The wizard will ask you a few questions to set everything up.
  7. Now you can login to the management interface with your new account credentials.

Installation on Kubernetes / k8s (beta)

TL;DR

helm repo add mailserver https://jeboehm.github.io/mailserver-charts/
helm search repo mailserver
helm install my-release mailserver/docker-mailserver

You can find values.yaml and more information in the mailserver-charts repository.

Screenshots

Manage users

User overview

Manage aliases

Alias overview

DKIM setup

DKIM setup

Documentation

Services

Service Address
POP3 (starttls needed) 127.0.0.1:110
POP3S 127.0.0.1:995
IMAP (starttls needed) 127.0.0.1:143
IMAPS 127.0.0.1:993
SMTP 127.0.0.1:25
Mail Submission (starttls needed) 127.0.0.1:587
Mail Submission (SSL, disabled by default) 127.0.0.1:465
Management Interface http://127.0.0.1:81/manager/
Webmail http://127.0.0.1:81/webmail/
Rspamd Webinterface http://127.0.0.1:81/rspamd/