v-list-mail-domain-dkim 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/bash
  2. # info: list mail domain dkim
  3. # options: USER DOMAIN [FORMAT]
  4. #
  5. # The function of obtaining domain dkim files.
  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. echo '{'
  18. echo -e "\t\"$domain\": {"
  19. echo " \"PEM\": \"$pem\","
  20. echo " \"PUB\": \"$pub\","
  21. echo -e "\t}\n}"
  22. }
  23. # SHELL list function
  24. shell_list() {
  25. echo -e "$pem"
  26. echo -e "\n$pub"
  27. }
  28. # PLAIN list function
  29. plain_list() {
  30. echo "$pem\t$pub"
  31. }
  32. # CSV list function
  33. csv_list() {
  34. echo "PEM,PUB"
  35. echo "\"$pem\",\"$pub\""
  36. }
  37. #----------------------------------------------------------#
  38. # Verifications #
  39. #----------------------------------------------------------#
  40. check_args '2' "$#" 'USER DOMAIN [FORMAT]'
  41. is_format_valid 'user' 'domain'
  42. is_object_valid 'user' 'USER' "$user"
  43. is_object_valid 'mail' 'DOMAIN' "$domain"
  44. #----------------------------------------------------------#
  45. # Action #
  46. #----------------------------------------------------------#
  47. # Parsing domain keys
  48. if [ -e "$USER_DATA/mail/$domain.pem" ]; then
  49. pem=$(cat $USER_DATA/mail/$domain.pem |sed ':a;N;$!ba;s/\n/\\n/g')
  50. fi
  51. if [ -e "$USER_DATA/mail/$domain.pub" ]; then
  52. pub=$(cat $USER_DATA/mail/$domain.pub |sed ':a;N;$!ba;s/\n/\\n/g')
  53. fi
  54. # Listing data
  55. case $format in
  56. json) json_list ;;
  57. plain) plain_list ;;
  58. csv) csv_list ;;
  59. shell) shell_list ;;
  60. esac
  61. #----------------------------------------------------------#
  62. # Vesta #
  63. #----------------------------------------------------------#
  64. exit