This commit is contained in:
kinolaev 2014-02-12 12:34:09 +04:00
commit b72f24fa73
11 changed files with 68 additions and 11 deletions

View file

@ -79,9 +79,17 @@ if [ "$dkim" = 'yes' ]; then
policy="\"t=y; o=~;\"" policy="\"t=y; o=~;\""
$BIN/v-add-dns-record $user $domain $record TXT "$policy" $BIN/v-add-dns-record $user $domain $record TXT "$policy"
record='mail._domainkey' record='vmail._domainkey'
selector="\"k=rsa\; p=$p\"" selector="\"k=rsa\; p=$p\""
$BIN/v-add-dns-record $user $domain $record TXT "$selector" $BIN/v-add-dns-record $user $domain $record TXT "$selector"
if [ "$($BIN/v-list-dns-records $user $domain plain|grep -c '@ MX 10 mx.yandex.ru.')" = "1" ]; then
record='mail._domainkey'
selector=$(host -t TXT mail._domainkey.$domain dns1.yandex.net|grep v\=DKIM1|cut -d\" -f2)
if [ -n "$selector" ]; then
$BIN/v-add-dns-record $user $domain $record TXT "\"$selector\""
fi
fi
fi fi
fi fi

View file

@ -48,7 +48,13 @@ chmod 660 $USER_DATA/mail/$domain.*
# Adding dkim to config # Adding dkim to config
cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
chown exim:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem if [ "$MAIL_SYSTEM" = 'exim' ]; then
mail_user=exim
fi
if [ "$MAIL_SYSTEM" = 'exim4' ]; then
mail_user=Debian-exim
fi
chown $mail_user:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem
chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem
# Checking dns domain # Checking dns domain
@ -60,9 +66,17 @@ if [ "$?" -eq 0 ]; then
policy="\"t=y; o=~;\"" policy="\"t=y; o=~;\""
$BIN/v-add-dns-record $user $domain $record TXT "$policy" $BIN/v-add-dns-record $user $domain $record TXT "$policy"
record='mail._domainkey' record='vmail._domainkey'
selector="\"k=rsa\; p=$p\"" selector="\"k=rsa\; p=$p\""
$BIN/v-add-dns-record $user $domain $record TXT "$selector" $BIN/v-add-dns-record $user $domain $record TXT "$selector"
if [ "$($BIN/v-list-dns-records $user $domain plain|grep -c '@ MX 10 mx.yandex.ru.')" = "1" ]; then
record='mail._domainkey'
selector=$(host -t TXT mail._domainkey.$domain dns1.yandex.net|grep v\=DKIM1|cut -d\" -f2)
if [ -n "$selector" ]; then
$BIN/v-add-dns-record $user $domain $record TXT "\"$selector\""
fi
fi
fi fi

View file

@ -24,7 +24,7 @@ json_list_dkim_dns() {
echo " \"TTL\": \"3600\"," echo " \"TTL\": \"3600\","
echo " \"TXT\": \"'t=y; o=~;'\"" echo " \"TXT\": \"'t=y; o=~;'\""
echo -e "\t}," echo -e "\t},"
echo -e "\n\t\"mail._domainkey\": {" echo -e "\n\t\"vmail._domainkey\": {"
echo " \"TTL\": \"3600\"," echo " \"TTL\": \"3600\","
echo " \"TXT\": \"'$pub'\"" echo " \"TXT\": \"'$pub'\""
echo -e "\t}\n}" echo -e "\t}\n}"
@ -34,7 +34,7 @@ json_list_dkim_dns() {
# Shell function # Shell function
shell_list_dkim_dns() { shell_list_dkim_dns() {
echo "_domainkey 3600 IN TXT \"t=y; o=~;\"" echo "_domainkey 3600 IN TXT \"t=y; o=~;\""
echo "mail._domainkey 3600 IN TXT \"k=rsa; p=$pub\"" echo "vmail._domainkey 3600 IN TXT \"k=rsa; p=$pub\""
} }

View file

@ -455,7 +455,7 @@ rebuild_mail_domain_conf() {
U_MAIL_DKMI=$((U_MAIL_DKMI + 1)) U_MAIL_DKMI=$((U_MAIL_DKMI + 1))
pem="$USER_DATA/mail/$domain.pem" pem="$USER_DATA/mail/$domain.pem"
pub="$USER_DATA/mail/$domain.pub" pub="$USER_DATA/mail/$domain.pub"
openssl genrsa -out $pem 512 &>/dev/null openssl genrsa -out $pem 1024 &>/dev/null
openssl rsa -pubout -in $pem -out $pub &>/dev/null openssl rsa -pubout -in $pem -out $pub &>/dev/null
cp $pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem cp $pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
@ -473,10 +473,18 @@ rebuild_mail_domain_conf() {
policy="\"t=y; o=~;\"" policy="\"t=y; o=~;\""
$BIN/v-add-dns-record $user $domain $record TXT "$policy" $BIN/v-add-dns-record $user $domain $record TXT "$policy"
record='mail._domainkey' record='vmail._domainkey'
p=$(cat $pub|grep -v ' KEY---'|tr -d '\n') p=$(cat $pub|grep -v ' KEY---'|tr -d '\n')
slct="\"k=rsa\; p=$p\"" slct="\"k=rsa\; p=$p\""
$BIN/v-add-dns-record $user $domain $record TXT "$slct" $BIN/v-add-dns-record $user $domain $record TXT "$slct"
if [ "$($BIN/v-list-dns-records $user $domain plain|grep -c '@ MX 10 mx.yandex.ru.')" = "1" ]; then
record='mail._domainkey'
slct=$(host -t TXT mail._domainkey.$domain dns1.yandex.net|grep v\=DKIM1|cut -d\" -f2)
if [ -n "$slct" ]; then
$BIN/v-add-dns-record $user $domain $record TXT "\"$slct\""
fi
fi
fi fi
fi fi

View file

@ -260,7 +260,7 @@ remote_smtp:
driver = smtp driver = smtp
#helo_data = $sender_address_domain #helo_data = $sender_address_domain
dkim_domain = DKIM_DOMAIN dkim_domain = DKIM_DOMAIN
dkim_selector = mail dkim_selector = vmail
dkim_private_key = DKIM_PRIVATE_KEY dkim_private_key = DKIM_PRIVATE_KEY
dkim_canon = relaxed dkim_canon = relaxed
dkim_strict = 0 dkim_strict = 0

View file

@ -0,0 +1,9 @@
ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns1%.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns2%.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='3' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='4' RECORD='mail' TYPE='CNAME' PRIORITY='' VALUE='domain.mail.yandex.net.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='5' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='6' RECORD='pop' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='7' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='8' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='mx.yandex.ru.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='9' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a ip4:%ip% include:_spf.yandex.ru ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

View file

@ -264,7 +264,7 @@ begin transports
remote_smtp: remote_smtp:
driver = smtp driver = smtp
dkim_domain = DKIM_DOMAIN dkim_domain = DKIM_DOMAIN
dkim_selector = mail dkim_selector = vmail
dkim_private_key = DKIM_PRIVATE_KEY dkim_private_key = DKIM_PRIVATE_KEY
dkim_canon = relaxed dkim_canon = relaxed
dkim_strict = 0 dkim_strict = 0

View file

@ -260,7 +260,7 @@ remote_smtp:
driver = smtp driver = smtp
#helo_data = $sender_address_domain #helo_data = $sender_address_domain
dkim_domain = DKIM_DOMAIN dkim_domain = DKIM_DOMAIN
dkim_selector = mail dkim_selector = vmail
dkim_private_key = DKIM_PRIVATE_KEY dkim_private_key = DKIM_PRIVATE_KEY
dkim_canon = relaxed dkim_canon = relaxed
dkim_strict = 0 dkim_strict = 0

View file

@ -0,0 +1,9 @@
ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns1%.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns2%.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='3' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='4' RECORD='mail' TYPE='CNAME' PRIORITY='' VALUE='domain.mail.yandex.net.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='5' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='6' RECORD='pop' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='7' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='8' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='mx.yandex.ru.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='9' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a ip4:%ip% include:_spf.yandex.ru ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'

View file

@ -260,7 +260,7 @@ remote_smtp:
driver = smtp driver = smtp
#helo_data = $sender_address_domain #helo_data = $sender_address_domain
dkim_domain = DKIM_DOMAIN dkim_domain = DKIM_DOMAIN
dkim_selector = mail dkim_selector = vmail
dkim_private_key = DKIM_PRIVATE_KEY dkim_private_key = DKIM_PRIVATE_KEY
dkim_canon = relaxed dkim_canon = relaxed
dkim_strict = 0 dkim_strict = 0

View file

@ -0,0 +1,9 @@
ID='1' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns1%.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='2' RECORD='@' TYPE='NS' PRIORITY='' VALUE='%ns2%.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='3' RECORD='@' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='4' RECORD='mail' TYPE='CNAME' PRIORITY='' VALUE='domain.mail.yandex.net.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='5' RECORD='www' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='6' RECORD='pop' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='7' RECORD='ftp' TYPE='A' PRIORITY='' VALUE='%ip%' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='8' RECORD='@' TYPE='MX' PRIORITY='10' VALUE='mx.yandex.ru.' SUSPENDED='no' TIME='%time%' DATE='%date%'
ID='9' RECORD='@' TYPE='TXT' PRIORITY='' VALUE='"v=spf1 a ip4:%ip% include:_spf.yandex.ru ?all"' SUSPENDED='no' TIME='%time%' DATE='%date%'