v-delete-sys-webmail 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/bin/bash
  2. # info: delete webmail support for a domain
  3. # options: USER DOMAIN [RESTART]
  4. #
  5. # The function delete ssl certificates.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. domain=$2
  12. restart="$3"
  13. # Includes
  14. source $HESTIA/func/main.sh
  15. source $HESTIA/func/domain.sh
  16. source $HESTIA/conf/hestia.conf
  17. # Additional argument formatting
  18. format_domain
  19. format_domain_idn
  20. #----------------------------------------------------------#
  21. # Verifications #
  22. #----------------------------------------------------------#
  23. check_args '2' "$#" 'USER DOMAIN [RESTART]'
  24. is_format_valid 'user' 'domain'
  25. is_system_enabled "$MAIL_SYSTEM" 'MAIL_SYSTEM'
  26. is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
  27. is_system_enabled "$IMAP_SYSTEM" 'IMAP_SYSTEM'
  28. is_object_valid 'user' 'USER' "$user"
  29. is_object_unsuspended 'user' 'USER' "$user"
  30. is_object_valid 'mail' 'DOMAIN' "$domain"
  31. is_object_unsuspended 'mail' 'DOMAIN' "$domain"
  32. #----------------------------------------------------------#
  33. # Action #
  34. #----------------------------------------------------------#
  35. if [ ! -z "$WEBMAIL_ALIAS" ]; then
  36. # Delete webmail configuration
  37. del_webmail_config
  38. del_webmail_ssl_config
  39. # Ensure that corresponding DNS records are removed
  40. if [ ! -z "$DNS_SYSTEM" ]; then
  41. dns_domain=$($BIN/v-list-dns-domains $user | grep $domain | cut -d' ' -f1)
  42. webmail_record=$($BIN/v-list-dns-records $user $domain | grep -i $WEBMAIL_ALIAS | cut -d' ' -f1)
  43. if [ "$dns_domain" = "$domain" ]; then
  44. if [ ! -z "$webmail_record" ]; then
  45. $BIN/v-delete-dns-record $user $domain $webmail_record
  46. fi
  47. fi
  48. fi
  49. else
  50. echo "Error: WEBMAIL_ALIAS is not defined in hestia.conf."
  51. fi
  52. #----------------------------------------------------------#
  53. # Hestia #
  54. #----------------------------------------------------------#
  55. if [ ! -z "$3" ]; then
  56. # Restarting web server
  57. $BIN/v-restart-web $restart
  58. check_result $? "Web restart failed" >/dev/null
  59. $BIN/v-restart-proxy $restart
  60. check_result $? "Proxy restart failed" >/dev/null
  61. fi
  62. # Logging
  63. log_history "disabled webmail support for $domain"
  64. log_event "$OK" "$ARGUMENTS"
  65. exit