Я новичок в скриптах bash. Я потратил часы на поиск решения ..
#!/bin/bash
# EMAIL_TO, FROM_EMAIL, etc variables are initialized here
# ...
# ...
maildata='{"personalizations": [{"to": [{"email": "'${EMAIL_TO}'"}]}],"from": {"email": "'${FROM_EMAIL}'",
"name": "'${FROM_NAME}'"},"subject": "'${SUBJECT}'","content": [{"type": "text/html", "value": "'${bodyHTML}'"}]}'
curl --url https://api.sendgrid.com/v3/mail/send \
--header 'Authorization: Bearer '$SENDGRID_API_KEY \
--header 'Content-Type: application/json' \
--data "'$maildata'"
Вышеприведенный фрагмент отлично работает, когда здесь, внутри скрипта, задан bodyHTML. Но я хочу, чтобы внешний html файл отправлялся таким образом.
Итак, вопрос: как я могу отправить, например, «mail.html» по вышеуказанной схеме? (Как установить переменную bodyHTML? Какие команды использовать? bodyHTML = $ (cat "mail.html") # приводит к сообщению об ошибке при выполнении строки curl)
Проблема, похоже, связана с bodyHTML (инициализированным из файла или внутри скрипта), содержащим двойные кавычки. Как в, например. Но что с этим делать ...? Возможно, мне нужно сначала сериализовать HTML как JSON внутри скрипта ..? Как?