Mod:Postfix Made DKIM selector variable

This so multiple servers useing Web-V2 can send from the same domain
Now using odksec for host selector var
and odkdomsec for domain selector var
This commit is contained in:
2021-03-12 14:44:40 +01:00
parent f28b08792c
commit 73bf0aa0f4
4 changed files with 28 additions and 10 deletions

View File

@@ -1,8 +1,8 @@
#ADD DOMAIN
sudo --user opendkim mkdir /etc/opendkim.d/keys/"$maildomain"
sudo --user opendkim opendkim-genkey -r -D /etc/opendkim.d/keys/"$maildomain" -d "$maildomain" -s vps
sudo --user opendkim opendkim-genkey -r -D /etc/opendkim.d/keys/"$maildomain" -d "$maildomain" -s "$odkdomsec"
echo "$maildomain" >> /etc/opendkim.d/TrustedHosts
echo "vps._domainkey."$maildomain" "$maildomain":vps:/etc/opendkim.d/keys/"$maildomain"/vps.private" >> /etc/opendkim.d/KeyTable
echo "$odkdomsec._domainkey."$maildomain" "$maildomain":"$odkdomsec":/etc/opendkim.d/keys/"$maildomain"/"$odkdomsec".private" >> /etc/opendkim.d/KeyTable
if [ $webserv != nginx_nonphp ]; then
echo "" >> "$phpPoolDir"/"$sitename".conf
@@ -11,7 +11,7 @@ fi
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/opendkim-init.sh -o ~/OpenDKIMInit-$sitename.sh
sed -i -e 's/DOMAINname/'$maildomain'/g' -e 's/SITEName/'${sitename//_}'/g' ~/OpenDKIMInit-$sitename.sh
sed -i -e 's/DOMAINname/'$maildomain'/g' -e 's/SITEName/'${sitename//_}'/g' -e 's/ODKSec/'$odkdomsec'/g' ~/OpenDKIMInit-$sitename.sh
cat << EOF > /etc/update-motd.d/51-opendkim-"${sitename//_}"
#!/bin/sh

View File

@@ -7,6 +7,11 @@ if [ $IMODE = n ]; then
mailas=$(whiptail --nocancel --inputbox " Enter mail addres for sending mail?" 11 78 --title "Config" 3>&1 1>&2 2>&3)
maildomain=$(sed -e 's/[^@]*@//' <<< "$mail")
fi
if (whiptail --title "Config" --yesno " Use default DKIM selector [vps]?" 11 78); then
odkdomsec=vps
else
odkdomsec=$(whiptail --nocancel --inputbox " Enter DKIM selector" 11 78 --title "Config" 3>&1 1>&2 2>&3)
fi
fi
if [ $IMODE = l ]; then
@@ -25,4 +30,17 @@ if [ $IMODE = l ]; then
* )echo "Choose yes or no.";;
esac
done
while true; do
read -p "Use default DKIM selector [vps]? (y/n)" yn
case $yn in
[Yy]* )
odkdomsec=vps
break;;
[Nn]* )
echo 'Enter DKIM selector? '
read odkdomsec
break;;
* )echo "Choose yes or no.";;
esac
done
fi

View File

@@ -61,13 +61,13 @@ if [ "$shortdist" = "ubu1804" ] || [ "$shortdist" = "ubu2004" ] || [ "$shortdist
systemctl daemon-reload
fi
odksec=$(sed 's/\..*$//' <<< $hostname)
odkhsec=$(sed 's/\..*$//' <<< $hostname)
sudo --user opendkim mkdir /etc/opendkim.d/keys/"$hostname"
sudo --user opendkim opendkim-genkey -r -D /etc/opendkim.d/keys/"$hostname" -d "$hostname" -s $odksec
echo ""$odksec"._domainkey."$hostname" "$hostname":"$odksec":/etc/opendkim.d/keys/"$hostname"/"$odksec".private" >> /etc/opendkim.d/KeyTable
sudo --user opendkim opendkim-genkey -r -D /etc/opendkim.d/keys/"$hostname" -d "$hostname" -s $odkhsec
echo ""$odkhsec"._domainkey."$hostname" "$hostname":"$odkhsec":/etc/opendkim.d/keys/"$hostname"/"$odkhsec".private" >> /etc/opendkim.d/KeyTable
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/opendkim-init.sh -o ~/OpenDKIMInit-host.sh
sed -i -e 's/DOMAINname/'$hostname'/g' -e 's/SITEName/'host'/g' -e 's/vps/'$odksec'/g' ~/OpenDKIMInit-host.sh
unset odksec
sed -i -e 's/DOMAINname/'$hostname'/g' -e 's/SITEName/'host'/g' -e 's/ODKSec/'$odkhsec'/g' ~/OpenDKIMInit-host.sh
unset odkhsec
cat << EOF > /etc/update-motd.d/51-generalspf

View File

@@ -2,7 +2,7 @@ if [ -n "$1" ]; then
if [[ "$1" = "--enable" ]]; then
echo "Enableing DKIM"
echo "*@DOMAINname vps._domainkey.DOMAINname" >>/etc/opendkim.d/SigningTable
echo "*@DOMAINname ODKSec._domainkey.DOMAINname" >>/etc/opendkim.d/SigningTable
systemctl reload opendkim
#Remove script
while true; do
@@ -26,7 +26,7 @@ echo "Optional to enable dkim"
echo "ip4:$(curl -s -4 icanhazip.com) ip6:$(curl -s -6 icanhazip.com)"
echo "Please add the folloing TXT Record to the DNS of DOMAINname"
echo "WARNING the output is split, please combine key before inserting into DNS"
cat /etc/opendkim.d/keys/DOMAINname/vps.txt
cat /etc/opendkim.d/keys/DOMAINname/ODKSec.txt
echo ""
echo "If DNS is propegated then run \"bash $0 --enable\""