X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=mail-setup;h=6e21394cd84f58e99f4acd23a02bbf8b7bd23e55;hb=6459d4698ef983f7b1540589b87013c76913393d;hp=b79fd8483fa44fd6a0ae9d0bbf56f05ee2d85389;hpb=f31ab4e29572ea4948f292bee814bc23061e992a;p=distro-setup diff --git a/mail-setup b/mail-setup index b79fd84..6e21394 100755 --- a/mail-setup +++ b/mail-setup @@ -15,12 +15,13 @@ set -x # See the License for the specific language governing permissions and # limitations under the License. -# todo: make quick backups of maildir, or deliver to multiple hosts. +# TODO: copy dkim keys from within this file. its now done in conflink. +# TODO: fix dkim key to b chmod 640, group Debian-exim set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR -[[ $EUID == 0 ]] || exec sudo -E "$BASH_SOURCE" "$@" +[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" if [[ ! $SUDO_USER ]]; then echo "$0: error: requires running as nonroot or sudo" exit 1 @@ -161,7 +162,7 @@ pi() { # package install if [[ ! -r $f ]] || (( $(( $(date +%s) - $(stat -c %Y $f ) )) > 60*60*12 )); then apt-get update fi - apt-get -y install --purge --auto-remove "$@" + DEBIAN_FRONTEND=noninteractive apt-get -y install --purge --auto-remove "$@" } postmaster=alerts @@ -176,6 +177,9 @@ forward=$u@$mxhost smarthost="$mxhost::$mxport" # exim +# light version of exim does not have sasl auth support. +pi exim4-daemon-heavy spamassassin spf-tools-perl + # trisquel 8 = openvpn, debian stretch = openvpn-client vpn_ser=openvpn-client if [[ ! -e /lib/systemd/system/openvpn-client@.service ]]; then @@ -193,7 +197,8 @@ else fi -pi openvpn +# light version of exim does not have sasl auth support. +pi exim4-daemon-heavy spamassassin spf-tools-perl openvpn dnsmasq if [[ -e /p/c/filesystem ]]; then # allow failure of these commands when our internet is down, they are likely not needed, @@ -340,10 +345,11 @@ EOF #### begin mail cert setup ### f=/usr/local/bin/mail-cert-cron cat >$f <<'EOF' +#!/bin/bash set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR -[[ $EUID == 0 ]] || exec sudo "$BASH_SOURCE" "$@" +[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" f=/a/bin/bash_unpublished/source-state if [[ -e $f ]]; then @@ -544,7 +550,7 @@ EOF cat >$f <<'EOF' #!/bin/bash cd /etc -wget -nv -N https://publicsuffix.org/list/public_suffix_list.dat +wget -q -N https://publicsuffix.org/list/public_suffix_list.dat EOF chmod 755 $f @@ -566,6 +572,9 @@ EOF # internet. I was torn about whether to do this or not, meh. pi dovecot-core dovecot-imapd dovecot-sieve dovecot-lmtpd + for f in /p/c/subdir_files/sieve/*sieve /a/c/subdir_files/sieve/*sieve; do + sudo -u $u /a/exe/lnf -T $f $(eval echo ~$u)/sieve/${f##*/} + done # if we changed 90-sieve.conf and removed the active part of the # sieve option, we wouldn\'t need this, but I\'d rather not modify a # default config if not needed. This won\'t work as a symlink in /a/c @@ -689,7 +698,7 @@ EOF # it\'s not part of exim rm -f /etc/exim4/conf.d/main/000_localmacros cat >>/etc/exim4/update-exim4.conf.conf <$f <<'EOFOUTER' +#!/bin/bash +/usr/sbin/exim -t </etc/cron.d/mailtest <&1 | /usr/local/bin/log-once send-test-forward +*/10 * * * * $u /usr/local/bin/mailtest-check 2>&1 | /usr/local/bin/log-once -1 mailtest-check +*/10 * * * * root chmod -R g+rw /m/md/bounces 2>&1 | /usr/local/bin/log-once -1 bounces-chmod EOF cp /a/bin/distro-setup/filesystem/usr/local/bin/mailtest-check /usr/local/bin else