alert_sendgrid.sh 1.1 KB

123456789101112131415161718192021222324252627
  1. #!/bin/bash
  2. # LinuxGSM alert_sendgrid.sh module
  3. # Author: Daniel Gibbs
  4. # Contributors: http://linuxgsm.com/contrib
  5. # Website: https://linuxgsm.com
  6. # Description: Sends sendgrid Email alert.
  7. functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
  8. sendgridapiurl="https://api.sendgrid.com/v3/mail/send"
  9. fn_print_dots "Sending Email alert: sendgrid: ${sendgridemail}"
  10. sendgridsend=$(curl --request POST \
  11. --url ${sendgridapiurl} \
  12. --header "Authorization: Bearer ${sendgridapi}" \
  13. --header 'Content-Type: application/json' \
  14. --data '{"personalizations": [{"to": [{"email": "${sendgridemail}"}]}],"from": {"email": "${sendgridfrom}"},"subject": "${alertemoji} ${alertsubject} ${alertemoji}","content": [{"type": "text/plain", "value": "$(cat "${alertlog}")"}]}'
  15. )
  16. if [ -z "${sendgridsend}" ]; then
  17. fn_print_fail_nl "Sending Email alert: sendgrid: ${sendgridemail}"
  18. fn_script_log_fatal "Sending Email alert: sendgrid: ${sendgridemail}"
  19. else
  20. fn_print_ok_nl "Sending Email alert: sendgrid: ${sendgridemail}"
  21. fn_script_log_pass "Sending Email alert: sendgrid: ${sendgridemail}"
  22. fi