Docker Mailserver
docker-mailserver.github.io/docker-mailserver/latestDockerA full-stack but simple mailserver (smtp, imap, antispam, antivirus, ssl...) using Docker. Very complete, with everything you will need, customizable and very easy to deploy with docker.
Docker Mailserver Source Code
Author
Description
Production-ready fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) running inside a container.
Homepage
https://docker-mailserver.github.io/docker-mailserver/latest/Repository
- LicenseMIT
- Created28 Mar 15
- Primary languageShell
- Size11,391 KB
- Stars19,673
- Forks2,123
- Watchers19,673
Top Contributors
@georglauterbach (380)
@tomav (360)
@polarathene (274)
@dependabot[bot] (250)
@casperklein (226)
@erik-wramner (174)
@chikamichi (88)
@martin-schulze-vireso (78)
@wernerfred (71)
@Josef-Friedrich (68)
@johansmitsnl (50)
@github-actions[bot] (49)
@youtous (43)
@17Halbe (32)
@NorseGaud (29)
@tve (21)
@ap-wtioit (20)
@gmasse (20)
@00angus (16)
@alinmear (15)
@dominikwinter (14)
@crazystick (13)
@allcontributors[bot] (12)
@fbartels (12)
@svenyonson (11)
@swiesend (11)
@stonemaster (10)
@williamdes (10)
@omarc1492 (9)
@phish108 (9)
@mwlczk (9)
@tyranron (9)
@KyleOndy (8)
@mindrunner (8)
@MichaelSp (8)
@m-a-v (7)
@bilak (7)
@vortex852456 (7)
@hanscees (6)
@chris54721 (6)
@jrpear (5)
@lukecyca (5)
@beertje44 (5)
@pyy (5)
@moqmar (4)
@arneke (4)
@akmet (4)
@diiigle (4)
@kiliant (4)
@robertdxyz (4)
@okainov (4)
@jsonn (4)
@jamebus (4)
@mathuin (4)
@egavard (4)
@dashohoxha (4)
@voordev (3)
@Zehir (3)
@guardiande (3)
@kamuri (3)
@mpldr (3)
@piwai (3)
@andreasgerstmayr (3)
@m-schmoock (3)
@mjung (3)
@tweibert (3)
@VanVan (3)
@eltociear (3)
@abh (3)
@Birkenstab (3)
@BrandonSchmitt (3)
@Starbix (3)
@citec (3)
@yajo (3)
@JamBalaya56562 (3)
@MakerMatrix (3)
@pbek (3)
@reneploetz (3)
@Rubytastic2 (3)
@analogue (3)
@weo (3)
@p-fruck (2)
@rahilarious (2)
@Rillke (2)
@bobbravo2 (2)
@r-pufky (2)
@vincentDcmps (2)
@andymel123 (2)
@bigpigeon (2)
@brainkiller (2)
@engelant (2)
@j-marz (2)
@lokipo (2)
@mainboarder (2)
@mmehnert (2)
@msheakoski (2)
@worldworm (2)
@mazzz1y (2)
@GoliathLabs (2)
@frugan-dev (2)
Recent Commits
Georg Lauterbach(25 Oct 26)
fix(scripts): move `CHANGELOG_URL` so that `LATEST` is set in update check script Signed-off-by: Georg Lauterbach <[email protected]>
dependabot[bot](21 Oct 26)
chore(deps): Bump github/codeql-action from 4.38.3 to 4.39.0 (#4825)
Ask Bjørn Hansen(18 Oct 26)
fix: randomize the freshclam cron schedule (#4824)
mainboarder(17 Oct 26)
docs: changed example ips to rfc-5737 TEST-NET-1 (#4823) * docs: changed example ips to rfc-5737 TEST-NET-1 * docs: changed ip 10.11.12.13 to 192.0.2.3
Brennan Kinney(17 Oct 26)
breaking: Generate Postfix LDAP configs from layered sources (#3524) Postfix LDAP configs are now generated at startup to `/etc/postfix/ldap/<KIND>.cf` (`users`, `groups`, `aliases`, `domains`, `senders`) from these sources, later ones take precedence: 1. Defaults (`version = 3`, `result_attribute = mail`, `senders`: `mail, uid`). 2. `LDAP_<SETTING>` ENV for all configs. 3. The custom config `ldap-<KIND>.cf` from the DMS config volume (now also supported for `senders`). 4. `POSTFIX_<KIND>_<SETTING>` ENV for a single config. A config without `query_filter` is not generated and its lookup table is not configured (including `smtpd_sender_login_maps` with `SPOOF_PROTECTION=1`). Previously all lookup tables were always configured, as the default configs shipped by the image always existed. Breaking: - `LDAP_QUERY_FILTER_{USER,GROUP,ALIAS,DOMAIN,SENDERS}` are renamed to `POSTFIX_{USERS,GROUPS,ALIASES,DOMAINS,SENDERS}_QUERY_FILTER` (an error is logged when the old ENV is set). - `/etc/postfix/ldap-*.cf` moved to `/etc/postfix/ldap/*.cf`, the default configs (with default query filters) were removed. Reworked from the original "Config Templates" proposal: Dovecot (already reworked for Dovecot 2.4) and SASLAuthd are unchanged, and no template files or additional dependencies (`zenv`, `envsubst`) are required. Signed-off-by: Georg Lauterbach <[email protected]> Co-authored-by: Georg Lauterbach <[email protected]>
Brennan Kinney(17 Oct 26)
refactor: Helper function `_replace_by_env_in_file()` (#3526) * fix: Helper `_replace_by_env_in_file()` support delimiter parameter Minor change to add support for usage with `saslauthd.conf` which differs with `:` for it's key/value delimiter. Also adopts the`_escape_for_sed()` method, instead of the inline sed pattern (_which for some reason escaped `=` but not `(` + `)`, thus buggy if ever matching on input with those tokens_). `_escape_for_sed()` likewise wasn't escaping for `(` + `)` or even `|`, which are required for proper escape support if using `sed -E` / `sed -r` with this method. Additionally added escaping support for `&` replacement segment token, which seems valid. Increased verbosity to better grok pattern matching expression, clarified escaping concern with `sed` delimiter since the project is not consistent there. * chore: Preserve K/V white-space of original source No need to check for a non-empty value to prepend a space (_since an empty value is used via sed anyway?_). Can also be a bit DRY with the sed pattern, matching the key + delimiter (_and all white-space before/after the delimiter until the value_), then capture that for the replacement left-side value while only actually swapping the value for the ENV input value. Should be an improvement, unless there is a scenario that would differ between `` and ` ` as valid value assignments? * chore: Adopt `sedfile` + case-insensitive pattern matching Both should be improvements for usage Co-authored-by: Casper <[email protected]> * fix: Harden `_replace_by_env_in_file()` and update tests - Split each ENV line at the first `=` only, `IFS='=' read` dropped a trailing `=` from values (e.g. base64 padded passwords). - Use `/` as the `sed` delimiter, as it is the only delimiter escaped by `_escape_for_sed()` (values with `#` broke the expression). - Revert `sedfile` to `sed -i`: most prefixed ENV have no matching key, so an unchanged file is expected and `sedfile` would log spurious errors. - Drop the unused key/value delimiter parameter. - Avoid trailing white-space when the value is empty. - Tests: Expect the retained white-space, add edge-cases for `sed` tokens and a trailing `=`, compare LDAP settings white-space insensitive. Signed-off-by: Georg Lauterbach <[email protected]> --------- Signed-off-by: Georg Lauterbach <[email protected]> Co-authored-by: Casper <[email protected]> Co-authored-by: Georg Lauterbach <[email protected]>
dependabot[bot](13 Oct 26)
chore(deps): Bump github/codeql-action from 4.38.2 to 4.38.3 (#4818) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.38.2 to 4.38.3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v4.38.2...v4.38.3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.38.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Georg Lauterbach(04 Oct 26)
fix: resolve missing default in ACCOUNT_PROVISIONER check (#4816) Related #4812 Signed-off-by: Georg Lauterbach <[email protected]>
brainkiller(04 Oct 26)
feat: add IMAP IDLE support for getmail (#4675) Signed-off-by: Georg Lauterbach <[email protected]> Co-authored-by: Brainkiller <[email protected]> Co-authored-by: Georg Lauterbach <[email protected]>
mainboarder(04 Oct 26)
fix: wrong changelog link (#4813) Co-authored-by: Georg Lauterbach <[email protected]>
Josh Purvis(04 Oct 26)
docs: add DomainCanary's SPF, DKIM and DMARC checker to the testing tools (#4814)
dependabot[bot](28 Sept 26)
chore(deps): Bump github/codeql-action from 4.38.1 to 4.38.2 (#4809) Signed-off-by: dependabot[bot] <[email protected]>
Georg Lauterbach(28 Sept 26)
fix(rspamd): only migrate Redis if the version can be migrated Valkey does not understand RDB version 12, hence we cannot always easily migrate. Signed-off-by: Georg Lauterbach <[email protected]>
Georg Lauterbach(25 Sept 26)
feat: replace Redis with Valkey (#4808)
Georg Lauterbach(25 Sept 26)
feat: re-enable Dovecot's stats-writer (#4807) Signed-off-by: Georg Lauterbach <[email protected]>
Copilot(25 Sept 26)
fix(tls): preserve Postfix overrides during runtime SSL refresh (#4806) Signed-off-by: Georg Lauterbach <[email protected]> Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: georglauterbach <[email protected]>
Serhii Tanichev(22 Sept 26)
docs: add Email Spam Tester to the testing tools (#4805)
dependabot[bot](22 Sept 26)
chore(deps): Bump github/codeql-action from 4.38.0 to 4.38.1 (#4804)
dependabot[bot](22 Sept 26)
chore(deps): Bump docker/setup-buildx-action from 4.3.0 to 4.4.1 (#4803)
dependabot[bot](22 Sept 26)
chore(deps): Bump docker/setup-qemu-action from 4.3.0 to 4.4.0 (#4802)
dependabot[bot](22 Sept 26)
chore(deps): Bump docker/build-push-action from 7.3.0 to 7.4.0 (#4801)
dependabot[bot](14 Sept 26)
chore(deps): Bump github/codeql-action from 4.37.9 to 4.38.0 (#4792) Signed-off-by: dependabot[bot] <[email protected]>
dependabot[bot](07 Sept 26)
chore(deps): Bump docker/setup-qemu-action from 4.2.0 to 4.3.0 (#4790)
Brennan Kinney(07 Sept 26)
docs: Revise `bind-smtp-network-interface.md` (#4345) * docs: Revise `bind-smtp-network-interface.md` * chore: apply MR feedback Signed-off-by: Georg Lauterbach <[email protected]> --------- Signed-off-by: Georg Lauterbach <[email protected]> Co-authored-by: Georg Lauterbach <[email protected]>
Eric(07 Sept 26)
docs: How to enable compression in Dovecot (#4578) * docs: add Dovecot 2.4 mailbox compression guide Document the supported global mail-compress configuration, verification steps, and troubleshooting guidance for DMS 16 and later. Co-authored-by: Eric <[email protected]> Co-authored-by: Brennan Kinney <[email protected]> * docs: remove trailing whitespace from compression guide --------- Co-authored-by: Georg Lauterbach <[email protected]> Co-authored-by: Brennan Kinney <[email protected]>
Georg Lauterbach(05 Sept 26)
feat: remove Xapian (#4786)
Lasslos(05 Sept 26)
Fix broken image path (#4788)
beertje44(04 Sept 26)
docs: update Solr image and clean up FTS configuration (#4787) * Update Solr image and clean up FTS configuration Updated Solr image version, fixed SOLR_MODULES format and explictly start solr in user-managed mode. Removed commented-out FTS decoder configuration: it is not advised and incorrect for the debian provided dovecot packages. Tika is a better alternative and easy to implement but this is a dovecot fts feature and not fts solr specific so that doesn't belong in the solr tutorial. * Fix Dovecot FTS solr configuration Pinned FTS solr config to solr:10.0, started solr in user managed mode, and removed the attachment text extraction example. --------- Co-authored-by: Georg Lauterbach <[email protected]>
Georg Lauterbach(04 Sept 26)
chore: fix typo Signed-off-by: Georg Lauterbach <[email protected]>
Georg Lauterbach(04 Sept 26)
chore: update PP template Signed-off-by: Georg Lauterbach <[email protected]>
Docker Mailserver Security
Docker Mailserver Website
Website
Home - Docker Mailserver
A fullstack but simple mail-server (SMTP, IMAP, LDAP, Anti-spam, Anti-virus, etc.) using Docker.
Redirects
Redirects to https://docker-mailserver.github.io/docker-mailserver/latest/
Security Checks
1 security checks failed (64 passed)
- Risky Category Detected
Server Details
- IP Address185.199.109.153
- Hostnamecdn-185-199-109-153.github.com
- LocationFrancisco,Indiana,United States of America,NA
- ISPGitHub Inc.
- ASNAS54113
Categories
Some proxies may block this service, as it falls into the following categories
- Free Hosting
Associated Countries
US
Safety Score
Website marked as moderately safe
90%
Trackers
No known trackers found
Blacklist Check
docker-mailserver.github.io was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Docker Mailserver Reviews
More Mail Servers
Easy-to-deploy fully-featured and pre-configured SMTP mail server. It includes everything from webmail, to spam filtering and backups.
A mail server with everything you need (SMTP, IMAP, webmail, NextCloud support..) using Docker.
About the Data: Docker Mailserver
Edit Docker Mailserver Data
You can edit Docker Mailserver's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external
sources, a list of these can be found data documentation.
Origin Data
Modify Data
API
You can access Docker Mailserver's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/docker-mailserverThe REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Docker Mailserver
Help your friends compare Mail Servers, and pick privacy-respecting software and services.
Share Docker Mailserver and Awesome Privacy with your network!