exherbo-dockermail/email_core/boot

66 lines
2.3 KiB
Plaintext
Raw Normal View History

# Check if we have SSL certificates in config, otherwise copy it there
2015-07-08 12:17:04 +00:00
# First the key file
2015-01-06 10:03:15 +00:00
if [ -f /mail_settings/ssl-cert-snakeoil.key ]; then
cp /mail_settings/ssl-cert-snakeoil.key /etc/ssl/private/ssl-cert-snakeoil.key
else
2015-07-08 09:06:43 +00:00
cp /etc/ssl/private/ssl-cert-snakeoil.key /mail_settings/ssl-cert-snakeoil.key
fi
2015-07-08 12:17:04 +00:00
# Then the pem file
2015-01-06 10:03:15 +00:00
if [ -f /mail_settings/ssl-cert-snakeoil.pem ]; then
cp /mail_settings/ssl-cert-snakeoil.pem /etc/ssl/certs/ssl-cert-snakeoil.pem
else
2015-07-08 09:06:43 +00:00
cp /etc/ssl/certs/ssl-cert-snakeoil.pem /mail_settings/ssl-cert-snakeoil.pem
fi
2015-07-08 12:17:04 +00:00
# Update hostname if given
2014-11-07 15:12:15 +00:00
if [ -f /mail_settings/myhostname ]; then
sed -i -e "s/myhostname = localhost/myhostname = $(sed 's:/:\\/:g' /mail_settings/myhostname)/" /etc/postfix/main.cf
2014-11-11 01:31:46 +00:00
echo $(sed 's:/:\\/:g' /mail_settings/myhostname) > /etc/mailname
2014-11-07 15:12:15 +00:00
fi
2015-07-08 12:17:04 +00:00
# Configure mail delivery to dovecot
2014-11-03 15:05:19 +00:00
cp /mail_settings/aliases /etc/postfix/virtual
cp /mail_settings/domains /etc/postfix/virtual-mailbox-domains
2015-07-08 12:17:04 +00:00
# Parse mailbox settings
2014-11-03 15:05:19 +00:00
mkdir /etc/postfix/tmp
awk < /etc/postfix/virtual '{ print $2 }' > /etc/postfix/tmp/virtual-receivers
sed -r 's,(.+)@(.+),\2/\1/,' /etc/postfix/tmp/virtual-receivers > /etc/postfix/tmp/virtual-receiver-folders
paste /etc/postfix/tmp/virtual-receivers /etc/postfix/tmp/virtual-receiver-folders > /etc/postfix/virtual-mailbox-maps
2015-07-08 12:17:04 +00:00
# Give postfix ownership of its files
2014-11-03 15:05:19 +00:00
chown -R postfix:postfix /etc/postfix
2015-07-08 12:17:04 +00:00
# Map virtual aliases and user/filesystem mappings
2014-11-03 15:05:19 +00:00
postmap /etc/postfix/virtual
postmap /etc/postfix/virtual-mailbox-maps
chown -R postfix:postfix /etc/postfix
2015-07-08 12:17:04 +00:00
# Make user vmail own all mail folders
2014-11-03 15:05:19 +00:00
chown -R vmail:vmail /vmail
chmod u+w /vmail
# Add password file
cp /mail_settings/passwords /etc/dovecot/passwd
2015-07-08 12:17:04 +00:00
# OpenDKIM config
POSTFIX_MAIN_CF=/etc/postfix/main.cf
2015-07-10 12:37:40 +00:00
if [ ! -z "$OPEN_DKIM" ]; then
2015-07-08 12:17:04 +00:00
# Add config block if not present already
if grep -q "# OpenDKIM - dockermail" "$POSTFIX_MAIN_CF"; then
echo "# OpenDKIM - dockermail" >> "$POSTFIX_MAIN_CF"
echo "milter_default_action = accept" >> "$POSTFIX_MAIN_CF"
echo "milter_protocol = 2" >> "$POSTFIX_MAIN_CF"
echo "smtpd_milters = $OPEN_DKIM_PORT_8891_ADDR" >> "$POSTFIX_MAIN_CF"
echo "non_smtpd_milters = $OPEN_DKIM_PORT_8891_ADDR" >> "$POSTFIX_MAIN_CF"
echo "# OpenDKIM - dockermail - end" >> "$POSTFIX_MAIN_CF"
fi
else
# Remove OpenDKIM block
sed '/# OpenDKIM - dockermail/,/# OpenDKIM - dockermail - end/d' "$POSTFIX_MAIN_CF"
fi