Skip to content

New DKIM features and flexible OpenDKIM / Postfix options

Compare
Choose a tag to compare
@bokysan bokysan released this 16 Jul 07:30
· 265 commits to master since this release

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 generic POSTFIX_myneworks
  • DEPRECATION Drop HOSTNAME variable and replace it with the generic POSTFIX_myhostname
  • DEPRECATION Drop MESSAGE_SIZE_LIMIT variable and replace it with the generic POSTFIX_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 in README.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.