New DKIM features and flexible OpenDKIM / Postfix options
This release deprecates a few things and modifies a few settings. Along with lots of other changes (over 1000+ lines changed), it warrants a new release although it will work as a drop-in replacement.
Changes:
- DEPRECATION Drop
MYNETWORKS
variable and replace it with the genericPOSTFIX_myneworks
- DEPRECATION Drop
HOSTNAME
variable and replace it with the genericPOSTFIX_myhostname
- DEPRECATION Drop
MESSAGE_SIZE_LIMIT
variable and replace it with the genericPOSTFIX_message_size_limit
- NEW FEATURE Supply any postfix variable by prefixing it with
POSTFIX_
(these variables override anything set by the script) - NEW FEATURE Supply any opendkim variable by prefixing it with
OPENDKIM_
(these variables override anything set by the script) - NEW FEATURE Auto-generate OpenDKIM keys. If
DKIM_AUTOGENERATE
is set, keys will be generated automatically. Make sure you put them in a persistent folder, though, otherwise new keys will be generated on every run. More info inREADME.md
. - NEW FEATURE JSON logging: useful when running in Kubernetes and collecting logs with Prometeus. Set
LOG_FORMAT=json
to get logs in JSON. - IMPROVEMENT The code is now testable. Initial tests have been set up, but further work should always include a test-case. Tests are run inside containers using
./unit-tests.sh
and./integration-tests.sh
scripts. New patches will mandate tests. Tests are written using BATS and mailsend-go. - IMPROVEMENT Simplification / restructuring of startup scripts. This makes it easier to test them as well as create custom startup scripts.
- IMPROVEMENT Added
FORCE_COLOR
option to force color even when output is not a terminal.
Due to these changes the base script had to be updated from Unix shell (sh
) to Bourne shell (bash
) and some DKIM tools had to be installed into the image. Hence the image got a bit larger. It now runs at around 30MB.