fix: setup email list should only work with ACCOUNT_PROVISIONER=FILE (#4453)

---------

Signed-off-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
This commit is contained in:
Brennan Kinney 2025-04-25 10:06:35 +12:00 committed by GitHub
parent 4b0e3a5002
commit 491c30b194
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 24 additions and 2 deletions

View file

@ -17,6 +17,7 @@ All notable changes to this project will be documented in this file. The format
- Added a compatibility note for a Dovecot + Solr 9.8 breaking change ([#4433](https://github.com/docker-mailserver/docker-mailserver/pull/4433))
- **Internal:**
- Refactored `setup config dkim` (`open-dkim`) ([#4375](https://github.com/docker-mailserver/docker-mailserver/pull/4375))
- `setup email list` and the default `ENABLE_QUOTAS=1` ENV now better communicates when config is incompatible ([#4453](https://github.com/docker-mailserver/docker-mailserver/pull/4453))
## [v15.0.2](https://github.com/docker-mailserver/docker-mailserver/releases/tag/v15.0.2)

View file

@ -247,6 +247,12 @@ Set the mailbox size limit for all users. If set to zero, the size will be unlim
See [mailbox quota][docs-accounts-quota].
!!! info "Compatibility"
This feature is presently only compatible with `ACCOUNT_PROVISIONER=FILE`.
When using a different provisioner (or `SMTP_ONLY=1`) this ENV will instead default to `0`.
##### POSTFIX_MESSAGE_SIZE_LIMIT
Set the message size limit for all users. If set to zero, the size will be unlimited (not recommended!). Size is in bytes.

View file

@ -8,6 +8,10 @@ source /usr/local/bin/helpers/index.sh
source /etc/dms-settings 2>/dev/null
function _main() {
if [[ ${ACCOUNT_PROVISIONER} != 'FILE' ]]; then
_exit_with_error "This command is only compatible with 'ACCOUNT_PROVISIONER=FILE'"
fi
local DATABASE_ACCOUNTS='/tmp/docker-mailserver/postfix-accounts.cf'
local DATABASE_VIRTUAL='/tmp/docker-mailserver/postfix-virtual.cf'

View file

@ -62,7 +62,7 @@ function __environment_variables_general_setup() {
VARS[DMS_VMAIL_UID]="${DMS_VMAIL_UID:=5000}"
VARS[DMS_VMAIL_GID]="${DMS_VMAIL_GID:=5000}"
# user-customizable are last
# user-customizable are next
_log 'trace' 'Setting anti-spam & anti-virus environment variables'
@ -106,7 +106,6 @@ function __environment_variables_general_setup() {
VARS[ENABLE_POP3]="${ENABLE_POP3:=0}"
VARS[ENABLE_IMAP]="${ENABLE_IMAP:=1}"
VARS[ENABLE_POSTGREY]="${ENABLE_POSTGREY:=0}"
VARS[ENABLE_QUOTAS]="${ENABLE_QUOTAS:=1}"
VARS[ENABLE_RSPAMD]="${ENABLE_RSPAMD:=0}"
VARS[ENABLE_RSPAMD_REDIS]="${ENABLE_RSPAMD_REDIS:=${ENABLE_RSPAMD}}"
VARS[ENABLE_SASLAUTHD]="${ENABLE_SASLAUTHD:=0}"
@ -167,6 +166,18 @@ function __environment_variables_general_setup() {
VARS[SUPERVISOR_LOGLEVEL]="${SUPERVISOR_LOGLEVEL:=warn}"
VARS[TZ]="${TZ:=}"
VARS[UPDATE_CHECK_INTERVAL]="${UPDATE_CHECK_INTERVAL:=1d}"
_log 'trace' 'Setting environment variables that require other variables to be set first'
# The Dovecot Quotas feature is presently only supported with the default FILE account provisioner,
# Enforce disabling the feature, unless it's been explicitly set via ENV (to avoid mismatch between
# explicit ENV and sourcing from /etc/dms-settings)
if [[ ${ACCOUNT_PROVISIONER} != 'FILE' || ${SMTP_ONLY} -eq 1 ]] && [[ ${ENABLE_QUOTAS:-1} -eq 1 ]]; then
_log 'debug' "The 'ENABLE_QUOTAS' feature is enabled (by default) but is not compatible with your config. Disabling"
VARS[ENABLE_QUOTAS]="${ENABLE_QUOTAS:=0}"
else
VARS[ENABLE_QUOTAS]="${ENABLE_QUOTAS:=1}"
fi
}
function __environment_variables_log_level() {