diff options
| -rwxr-xr-x | adddomain.sh | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/adddomain.sh b/adddomain.sh index 74b20ad..e07c357 100755 --- a/adddomain.sh +++ b/adddomain.sh @@ -3,10 +3,12 @@ domain="$1" # Input validation to allow only valid domain characters -if ! [[ "$domain" =~ ^[a-zA-Z0-9.-]+$ ]]; then - echo "Give a valid domain as an argument to add mail server for it. Only alphanumeric characters, dashes, and dots are allowed." - exit 1 -fi +case "$domain" in + ""|*[!a-zA-Z0-9.-]*) + echo "Give a valid domain as an argument to add mail server for it. Only alphanumeric characters, dashes, and dots are allowed." + exit 1 + ;; +esac subdom="mail" maildomain="mail.$(cat /etc/mailname)" @@ -24,6 +26,7 @@ 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 +echo "/^(.*)@$(echo "$domain" | sed 's/\./\\./')\$/ \${1}" >> /etc/postfix/login_maps.pcre systemctl reload opendkim postfix |
