home · contact · privacy
Fix issues with OpenDKIM script.
[config] / setup_opendkim.sh
1 #!/bin/sh
2 set -x
3 set -e
4 selector=$1
5 file=$2
6
7 if [ ! "$(id -u)" -eq "0" ]; then
8     echo "Must be run as root."
9     exit
10 fi
11
12 apt-get -y install opendkim opendkim-tools
13 cp ~/config/systemfiles/opendkim.conf /etc/opendkim.conf
14
15 if [ -f /etc/opendkim/dkim.key ]; then
16     cp /etc/opendkim/dkim.key /etc/opendkim/dkim.key~
17 fi
18
19 sed -r -i 's/^#Selector .*$/Selector '$selector'/' /etc/opendkim.conf
20
21 mkdir -p /etc/opendkim
22 if [ -n $file ] || [ ! -f $file ]; then
23     opendkim-genkey -d plomlompom.com -s $selector
24     mv "$selector".private /etc/opendkim/dkim.key
25 else
26     cp $file /etc/opendkim/dkim.key
27 fi
28
29 cp ~/config/systemfiles/main.cf /etc/postfix/main.cf
30 cat >> /etc/postfix/main.cf << EOF
31
32 # Use opendkim at given port as mail filter.
33 non_smtpd_milters = inet:localhost:12301
34 smtpd_milters = inet:localhost:12301
35 EOF
36 service postfix restart
37 service opendkim restart
38
39 echo 'TAKE NOTE:'
40 if [ -f $selector.txt ]; then
41     echo 'Apply the content of '$selector'.txt to your DNS record!'
42     cat $selector.txt 
43 else
44     echo 'Make sure the DKIM TXT entry in your DNS record matches!'
45 fi