From 3cb02aec9d437e49e7c68a198d18773e47777437 Mon Sep 17 00:00:00 2001 From: Serghey Rodin Date: Tue, 29 Oct 2013 14:04:07 +0200 Subject: [PATCH] show dkim dns records in bind format --- bin/v-list-mail-domain-dkim-dns | 74 +++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 bin/v-list-mail-domain-dkim-dns diff --git a/bin/v-list-mail-domain-dkim-dns b/bin/v-list-mail-domain-dkim-dns new file mode 100755 index 000000000..b3c8c4887 --- /dev/null +++ b/bin/v-list-mail-domain-dkim-dns @@ -0,0 +1,74 @@ +#!/bin/bash +# info: list mail domain dkim dns records +# options: USER DOMAIN [FORMAT] +# +# The function of obtaining domain dkim dns records for proper setup. + + +#----------------------------------------------------------# +# Variable&Function # +#----------------------------------------------------------# + +# Argument defenition +user=$1 +domain=$2 +format=${3-shell} + +# Includes +source $VESTA/func/main.sh + +# Json function +json_list_dkim_dns() { + echo '{' + echo -e "\t\"_domainkey\": {" + echo " \"TTL\": \"3600\"," + echo " \"TXT\": \"'t=y; o=~;'\"" + echo -e "\t}," + echo -e "\n\t\"mail._domainkey\": {" + echo " \"TTL\": \"3600\"," + echo " \"TXT\": \"'$pub'\"" + echo -e "\t}\n}" + +} + +# Shell function +shell_list_dkim_dns() { + echo "_domainkey 3600 IN TXT \"t=y; o=~;\"" + echo "mail._domainkey 3600 IN TXT \"k=rsa; p=$pub\"" +} + + +#----------------------------------------------------------# +# Verifications # +#----------------------------------------------------------# + +check_args '2' "$#" 'USER DOMAIN [FORMAT]' +is_object_valid 'user' 'USER' "$user" +is_object_valid 'mail' 'DOMAIN' "$domain" + + +#----------------------------------------------------------# +# Action # +#----------------------------------------------------------# + +# Check pub key +if [ -e "$USER_DATA/mail/$domain.pub" ]; then + pub=$(cat $USER_DATA/mail/$domain.pub | sed ':a;N;$!ba;s/\n/\\n/g') +else + pub="DKIM-SUPPORT-IS-NOT-ACTIVATED" +fi + +# Listing domains +case $format in + json) json_list_dkim_dns ;; + plain) shell_list_dkim_dns ;; + shell) shell_list_dkim_dns ;; + *) check_args '1' '0' '[FORMAT]' +esac + + +#----------------------------------------------------------# +# Vesta # +#----------------------------------------------------------# + +exit