Sfoglia il codice sorgente

Merge branch 'bugfix-dns-mail' into develop

Kristan Kenney 6 anni fa
parent
commit
0f5e021d33
3 ha cambiato i file con 30 aggiunte e 9 eliminazioni
  1. 3 9
      bin/v-add-mail-domain
  2. 15 0
      bin/v-add-webmail
  3. 12 0
      bin/v-delete-webmail

+ 3 - 9
bin/v-add-mail-domain

@@ -128,16 +128,10 @@ if [ ! -z "$DNS_SYSTEM" ] && [ "$dkim" = 'yes' ]; then
 fi
 
 # Add webmail configuration to mail domain
-WEBMAIL_TEMPLATE="default"
-if [ "$WEB_SYSTEM" = "nginx" ]; then
-    WEBMAIL_TEMPLATE="web_system"
+if [ ! -z "$WEB_SYSTEM" ] || [ ! -z "$PROXY_SYSTEM" ]; then
+    $BIN/v-add-webmail $user $domain '' 
 fi
-add_webmail_config "$WEB_SYSTEM" "${WEBMAIL_TEMPLATE}.tpl"
-
-if [ ! -z "$PROXY_SYSTEM" ]; then
-    add_webmail_config "$PROXY_SYSTEM" "default.tpl"
-fi
-
+    
 #----------------------------------------------------------#
 #                       Hestia                             #
 #----------------------------------------------------------#

+ 15 - 0
bin/v-add-webmail

@@ -54,6 +54,21 @@ is_object_unsuspended 'mail' 'DOMAIN' "$domain"
 #                       Action                             #
 #----------------------------------------------------------#
 
+# Ensure DNS record exists if Hestia is hosting DNS zones
+if [ ! -z "$DNS_SYSTEM" ]; then
+    dns_domain=$($BIN/v-list-dns-domains $user | grep $domain | cut -d' ' -f1)
+    webmail_record=$($BIN/v-list-dns-records $user $domain | grep -i $WEBMAIL_ALIAS | cut -d' ' -f1)
+
+    if [ "$dns_domain" = "$domain" ]; then
+        if [ -z "$webmail_record" ]; then
+            $BIN/v-add-dns-record $user $domain $WEBMAIL_ALIAS A $ip
+        else
+            $BIN/v-delete-dns-record $user $domain $webmail_record
+            $BIN/v-add-dns-record $user $domain $WEBMAIL_ALIAS A $ip
+        fi
+    fi
+fi
+
 # Add webmail configuration to mail domain
 WEBMAIL_TEMPLATE="default"
 if [ "$WEB_SYSTEM" = "nginx" ]; then

+ 12 - 0
bin/v-delete-webmail

@@ -43,6 +43,18 @@ is_object_unsuspended 'mail' 'DOMAIN' "$domain"
 del_webmail_config
 del_webmail_ssl_config
 
+# Ensure that corresponding DNS records are removed
+if [ ! -z "$DNS_SYSTEM" ]; then
+    dns_domain=$($BIN/v-list-dns-domains $user | grep $domain | cut -d' ' -f1)
+    webmail_record=$($BIN/v-list-dns-records $user $domain | grep -i $WEBMAIL_ALIAS | cut -d' ' -f1)
+
+    if [ "$dns_domain" = "$domain" ]; then
+        if [ ! -z "$webmail_record" ]; then
+            $BIN/v-delete-dns-record $user $domain $webmail_record
+        fi
+    fi
+fi
+
 #----------------------------------------------------------#
 #                       Hestia                              #
 #----------------------------------------------------------#