docker-mailserver
is inspired by the renowned ISPMail guide.
This project enables you to run your own email services, giving you independence and freedom from relying on large corporations. It provides a secure, customizable, and feature-rich solution for managing your email infrastructure.
All Docker images are built on Alpine Linux, ensuring they remain as lightweight as possible.
- Secure email protocols: POP3, IMAP, and SMTP with user authentication
- Enforced TLS for secure communication
- Intuitive webmail interface
- Server-side mail filtering with configurable rules via a web frontend
- Advanced spam and malware filtering
- Support for catchall email addresses
- Restriction of sender addresses for enhanced security
- Spam filter training by simply moving emails to or from the junk folder
- Real-time spam prevention using RBL (Real-Time Blackhole Lists)
- Greylisting applied only to emails likely to be spam
- DKIM message signing for email authenticity
- Quota management with notifications for quota exceedance
- Web-based management interface for account, domain, and alias administration
- Support for send-only accounts restricted from receiving emails
- Optional disabling of IMAP, POP3, and malware filters if not required
- Full-Text Search (FTS) support for efficient message searching
- Continuous self-monitoring via Docker's healthcheck feature
- Developed with a focus on high-quality assurance standards
- Address extension support using the "-" delimiter
- Kubernetes support via Helm charts for streamlined deployment on Kubernetes clusters
- Fetchmail integration to retrieve emails from external providers
- Run
git clone git@github.com:jeboehm/docker-mailserver.git
- Copy the file
.env.dist
to.env
and change the variables in it according to your needs. The variables are described in the Wiki. - Run
bin/production.sh pull
to download the images. - Run
bin/production.sh up -d
to start the services. - After a few seconds you can access the services listed in the paragraph Services.
- 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. - Now you can login to the management interface with your new account credentials.
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.
- Configuration
- Advanced setup:
- Features:
- Technical details:
- Upgrading
- Troubleshooting
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/ |