diff options
author | Luke Smith <luke@lukesmith.xyz> | 2024-07-17 12:04:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-17 12:04:40 -0400 |
commit | 0ede8c9d9c304fbb6fa0605e50ffbf07e9fdc7be (patch) | |
tree | 1f4e7fa280d54958f0096298d5461d1d2d51705f /adddomain.sh | |
parent | 6074d52152dfaf1110e71b8bdfddd07bd56083f0 (diff) | |
parent | 58fe9ae27648a2aab315deef25078c54e48525b8 (diff) |
Merge branch 'master' into patch-1
Diffstat (limited to 'adddomain.sh')
-rwxr-xr-x | adddomain.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/adddomain.sh b/adddomain.sh new file mode 100755 index 0000000..d44b567 --- /dev/null +++ b/adddomain.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +domain="$1" +[ -z "$1" ] && exit + +domain="$1" +subdom="mail" + +# Add the domain to the valid postfix addresses. +grep -q "^mydestination.*$domain" /etc/postfix/main.cf || + sed -i "s/^mydestination.*/&, $domain/" /etc/postfix/main.cf + +# Create DKIM for new domain. +mkdir -p "/etc/postfix/dkim/$domain" +opendkim-genkey -D "/etc/postfix/dkim/$domain" -d "$domain" -s "$subdom" +chgrp -R opendkim /etc/postfix/dkim/* +chmod -R g+r /etc/postfix/dkim/* + +# Add entries to keytable and signing table. +echo "$subdom._domainkey.$domain $domain:$subdom:/etc/postfix/dkim/$domain/$subdom.private" >> /etc/postfix/dkim/keytable +echo "*@$domain $subdom._domainkey.$domain" >> /etc/postfix/dkim/signingtable + +systemctl reload opendkim postfix + +# Print out DKIM TXT entry. +pval="$(tr -d '\n' <"/etc/postfix/dkim/$domain/$subdom.txt" | sed "s/k=rsa.* \"p=/k=rsa; p=/;s/\"\s*\"//;s/\"\s*).*//" | grep -o 'p=.*')" + +dkimentry="$subdom._domainkey.$domain TXT v=DKIM1; k=rsa; $pval" +dmarcentry="_dmarc.$domain TXT v=DMARC1; p=reject; rua=mailto:dmarc@$domain; fo=1" +spfentry="$domain TXT v=spf1 mx a:$maildomain -all" +mxentry="$domain MX 10 $maildomain 300" + +echo "$dkimentry +$dmarcentry +$spfentry +$mxentry" >> "$HOME/dns_emailwizard_added" + +echo "=== ADD THE FOLLOWING TO YOUR DNS TXT RECORDS ===" +echo "$dkimentry +$dmarcentry +$spfentry +$mxentry" +echo "They have also been stored in ~/dns_emailwizard_added" |