Go to file
Brennan Kinney 47f8d50beb
fix: Ensure configs are sanitized for parsing (#3819)
* chore: Detect missing final newline in configs read

These lines will be not be processed by `read`, emit a warning to raise awareness.

* fix: Ensure parsed config has final newline appended (when possible)

This functionality was handled in `accounts.sh` via a similar sed command (that the linked references also offer).

`printf` is better for this, no shellcheck comment required either.

We additionally don't attempt to modify files that are read-only.

* fix: Ensure parsed configs have CRLF to LF corrected (where possible)

Likewise, this runtime fix was only covering two config files. It now applies to all callers of this method.

* fix: Sanitize `postfix-master.cf` via helper

This feature should have been using the helper to avoid user error from their config updates accidentally introducing subtle breakage implicitly (due to CRLF or missing final newline).

* tests: Add test cases for new helpers

* tests:  `rm` is redundant when using `BATS_TEST_TMPDIR`

This temporary directory is created and removed implicitly. Even after a test failure.

* chore: Remove old `postfix-virtual.cf` migration logic

This was introduced in 2018, there should be no one needing to rely on this anymore?

* tests: Remove comment on sed failure concern

* chore: Add entry to `CHANGELOG.md`

* Apply suggestions from code review

Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>

---------

Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
2024-01-26 10:28:26 +13:00
.github chore(deps): Bump anchore/scan-action from 3.5.0 to 3.6.0 (#3808) 2024-01-23 15:36:53 +13:00
config-examples docs: Fix typos (#3443) 2023-07-27 12:24:36 +12:00
docs docs(fix): New external link icon workaround for mkdocs-material 9.5.5 (#3823) 2024-01-26 01:02:19 +13:00
target fix: Ensure configs are sanitized for parsing (#3819) 2024-01-26 10:28:26 +13:00
test fix: Ensure configs are sanitized for parsing (#3819) 2024-01-26 10:28:26 +13:00
.all-contributorsrc Update contributors (#2143) 2021-08-28 15:23:11 +02:00
.dockerignore Update check (#1951) 2021-05-19 21:18:06 +02:00
.editorconfig ci(fix): Normalize for `.gitattributes` + improve `eclint` coverage (#3566) 2023-10-04 12:53:32 +02:00
.gitattributes ci: `.gitattributes` - Ensure `eol=lf` for shell scripts (#3755) 2024-01-08 09:34:24 +13:00
.gitignore feat: Auth - OAuth2 (Dovecot PassDB) (#3480) 2024-01-13 09:45:14 +13:00
.gitmodules removal: configomat (submodule) (#3045) 2023-02-05 12:39:05 +01:00
CHANGELOG.md fix: Ensure configs are sanitized for parsing (#3819) 2024-01-26 10:28:26 +13:00
CODE_OF_CONDUCT.md docs(fix): Update wiki references to the new docs url 2021-03-25 11:49:24 +13:00
CONTRIBUTORS.md docs: update `CONTRIBUTORS.md` (#3798) 2024-01-21 12:31:10 +01:00
Dockerfile general: update base image to Debian 12 ("Bookworm") (#3403) 2024-01-24 17:05:55 +01:00
LICENSE Final Migration Step (#6) 2021-01-16 10:16:05 +01:00
Makefile ci: add `run-local-instance` target to `Makefile` (#3663) 2023-12-04 10:28:40 +13:00
README.md feat: Auth - OAuth2 (Dovecot PassDB) (#3480) 2024-01-13 09:45:14 +13:00
SECURITY.md ci/docs: add vulnerability scanning workflow & security policy (#3106) 2023-02-23 08:53:12 +01:00
VERSION release: v13.3.1 (#3817) 2024-01-24 14:25:13 +01:00
compose.yaml compose.yaml: Add comment about disabled authentication on port 25 (#3464) 2023-08-14 01:58:54 +02:00
mailserver.env fix(typo): comment on mailserver.env (#3799) 2024-01-21 12:21:29 +01:00
setup.sh Change 'while' style (#3365) 2023-05-26 01:39:39 +02:00

README.md

Docker Mailserver

ci::status docker::pulls documentation::badge

📃 About

A production-ready fullstack but simple containerized mail server (SMTP, IMAP, LDAP, Anti-spam, Anti-virus, etc.). Only configuration files, no SQL database. Keep it simple and versioned. Easy to deploy and upgrade. Originally created by @tomav, this project is now maintained by volunteers since January 2021.

💡 Documentation

We provide a dedicated documentation hosted on GitHub Pages. Make sure to read it as it contains all the information necessary to set up and configure your mail server. The documentation is crafted with Markdown & MkDocs Material.

💥 Issues

If you have issues, please search through the documentation for your version before opening an issue. The issue tracker is for issues, not for personal support. Make sure the version of the documentation matches the image version you're using!

  1. FAQ
  2. Usage
  3. Examples
  4. Issues and Contributing
  5. Release Notes
  6. Environment Variables
  7. Updating

📦 Included Services