6 if [ ! -n "$selector" ]; then
8 Usage: $0 SELECTOR [KEYFILE] - set up DKIM system and configuration
10 If existing KEYFILE is given, set up DKIM to use SELECTOR and apply key from
13 If existing KEYFILE is not given, generate KEYFILE and DNS TXT file for
19 if [ ! "$(id -u)" -eq "0" ]; then
20 echo "Must be run as root."
25 apt-get -y install opendkim
27 if [ ! -n "$file" ]; then
28 apt-get -y install opendkim-tools
29 opendkim-genkey -d plomlompom.com -s $selector
30 apt-get -y --purge autoremove opendkim-tools
33 echo 'Generated key file at '$selector'.private.'
34 echo 'APPLY the content of '$selector'.txt below to your DNS record.'
35 echo 'AFTER the waiting time for DNS propagation RERUN this script with' \
36 'the key file as SECOND parameter (still use selector as first one).'
40 if [ ! -f "$file" ]; then
43 echo "Keyfile $file does not exist."
46 cp ~/config/systemfiles/opendkim.conf /etc/opendkim.conf
47 sed -r -i 's/^#Selector .*$/Selector '$selector'/' /etc/opendkim.conf
48 mkdir -p /etc/opendkim
49 if [ -f /etc/opendkim/dkim.key ]; then
50 cp /etc/opendkim/dkim.key /etc/opendkim/dkim.key~
52 cp $file /etc/opendkim/dkim.key
53 cp ~/config/systemfiles/main.cf /etc/postfix/main.cf
54 cat >> /etc/postfix/main.cf << EOF
56 # Use opendkim at given port as mail filter.
57 non_smtpd_milters = inet:localhost:12301
59 service opendkim restart
60 service postfix restart
63 echo 'Ensure the DKIM TXT entry in your DNS record matches!'