1
0
mirror of https://github.com/docker-mailserver/docker-mailserver.git synced 2025-08-07 23:03:10 +02:00

feature: adding getmail as an alternative to fetchmail (#2803)

Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
Co-authored-by: Casper <casperklein@users.noreply.github.com>
This commit is contained in:
LucidityCrash
2023-05-23 16:25:08 +01:00
committed by GitHub
parent abd72b6f10
commit 7af7546d88
16 changed files with 320 additions and 3 deletions

View File

@ -0,0 +1,42 @@
#!/bin/bash
function _setup_getmail
{
if [[ ${ENABLE_GETMAIL} -eq 1 ]]
then
_log 'trace' 'Preparing Getmail configuration'
local GETMAILRC ID CONFIGS
GETMAILRC='/etc/getmailrc.d'
CONFIGS=0
mkdir -p "${GETMAILRC}"
# Generate getmailrc configs, starting with the `/etc/getmailrc_general` base config,
# Add a unique `message_log` config, then append users own config to the end.
for FILE in /tmp/docker-mailserver/getmail-*.cf
do
if [[ -f ${FILE} ]]
then
CONFIGS=1
ID=$(cut -d '-' -f 3 <<< "${FILE}" | cut -d '.' -f 1)
local GETMAIL_CONFIG="${GETMAILRC}/getmailrc-${ID}"
cat /etc/getmailrc_general >"${GETMAIL_CONFIG}.tmp"
echo -e "message_log = /var/log/mail/getmail-${ID}.log\n" >>"${GETMAIL_CONFIG}.tmp"
cat "${GETMAIL_CONFIG}.tmp" "${FILE}" >"${GETMAIL_CONFIG}"
rm "${GETMAIL_CONFIG}.tmp"
fi
done
if [[ ${CONFIGS} -eq 1 ]]
then
cat >/etc/cron.d/getmail << EOF
*/${GETMAIL_POLL} * * * * root /usr/local/bin/getmail-cron
EOF
chmod -R 600 "${GETMAILRC}"
fi
else
_log 'debug' 'Getmail is disabled'
fi
}