v-list-mail-domain 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #!/bin/bash
  2. # info: list mail domain
  3. # options: USER DOMAIN [FORMAT]
  4. #
  5. # The function of obtaining the list of domain parameters.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. domain=$2
  12. format=${3-shell}
  13. # Includes
  14. source $VESTA/func/main.sh
  15. # JSON list function
  16. json_list() {
  17. eval $(grep "DOMAIN='$domain'" $USER_DATA/mail.conf)
  18. echo '{'
  19. echo ' "'$DOMAIN'": {
  20. "ANTIVIRUS": "'$ANTIVIRUS'",
  21. "ANTISPAM": "'$ANTISPAM'",
  22. "DKIM": "'$DKIM'",
  23. "CATCHALL": "'$CATCHALL'",
  24. "ACCOUNTS": "'$ACCOUNTS'",
  25. "U_DISK": "'$U_DISK'",
  26. "SUSPENDED": "'$SUSPENDED'",
  27. "TIME": "'$TIME'",
  28. "DATE": "'$DATE'"
  29. }'
  30. echo '}'
  31. }
  32. # SHELL list function
  33. shell_list() {
  34. echo "DOMAIN: $DOMAIN"
  35. echo "ANTIVIRUS: $ANTIVIRUS"
  36. echo "ANTISPAM: $ANTISPAM"
  37. echo "DKIM: $DKIM"
  38. echo "CATCHALL: $CATCHALL"
  39. echo "ACCOUNTS: $ACCOUNTS"
  40. echo "DISK: $U_DISK"
  41. echo "SUSPENDED: $SUSPENDED"
  42. echo "TIME: $TIME"
  43. echo "DATE: $DATE"
  44. }
  45. # PLAIN list function
  46. plain_list() {
  47. echo -ne "$DOMAIN\t$ANTIVIRUS\t$ANTISPAM\t$DKIM\t$CATCHALL\t"
  48. echo -e "$ACCOUNTS\t$U_DISK\t$SUSPENDED\t$TIME\t$DATE"
  49. }
  50. # CSV list function
  51. csv_list() {
  52. echo -n "DOMAIN,ANTIVIRUS,ANTISPAM,DKIM,CATCHALL,ACCOUNTS,U_DISK,"
  53. echo "SUSPENDED,TIME,DATE"
  54. echo -n "$DOMAIN,$ANTIVIRUS,$ANTISPAM,$DKIM,$CATCHALL,$ACCOUNTS,$U_DISK"
  55. echo "$SUSPENDED,$TIME,$DATE"
  56. }
  57. #----------------------------------------------------------#
  58. # Verifications #
  59. #----------------------------------------------------------#
  60. check_args '2' "$#" 'USER DOMAIN [FORMAT]'
  61. is_format_valid 'user' 'domain'
  62. is_object_valid 'user' 'USER' "$user"
  63. is_object_valid 'mail' 'DOMAIN' "$domain"
  64. #----------------------------------------------------------#
  65. # Action #
  66. #----------------------------------------------------------#
  67. # Parsing mail domain
  68. eval $(grep "DOMAIN='$domain'" $USER_DATA/mail.conf)
  69. # Listing data
  70. case $format in
  71. json) json_list ;;
  72. plain) plain_list ;;
  73. csv) csv_list ;;
  74. shell) shell_list ;;
  75. esac
  76. #----------------------------------------------------------#
  77. # Vesta #
  78. #----------------------------------------------------------#
  79. exit