Я изо всех сил пытаюсь отправить электронное письмо через ssh с mailx. Вот прецедент. Я пишу небольшой сценарий развертывания и хочу отправить заказную электронную почту в конце. Поскольку наши машины-разработчики не могут отправлять электронную почту напрямую, я подумал о том, чтобы использовать машину интеграции через ssh для выполнения этой работы. В сценарии получатели, субъект и содержимое электронной почты хранятся в переменных. Содержимое написано в Markdown, потому что оно зафиксировано в проекте как журнал изменений.Отправить письмо с mailx через ssh в скрипте bash с переменными
Здесь нет команды я попробовал:
ssh [email protected] "echo -e ${CHANGELOG_CONTENT} | mailx -s \"${PROJECT_NAME} - ${TARGET_VERSION} - ${RELEASE_DATE}\" ${CHANGELOG_RECIPIENTS}"
Я попробовал несколько вариантов, прежде чем этот, но не повезло. Эта версия дает мне эту ошибку:
bash: -c: line 0: syntax error near unexpected token `('
Вот пример команды с переменными заменены их содержанием (ручной):
ssh [email protected] "echo -e Version 1.2\n\n- branch-1 : [gitlab link](http://gitlab.example.com/project-alpha/commits/branch-1)\n\n | mailx -s "Project Alpha - 1.2 - 2015-26-05 13:10" [email protected] [email protected]"
Я уверен, что мои ошибки приходят от плохого экранирования/quoting, но так как я вложенные команды с SSH, я не могу найти правильную комбинацию.
Любая помощь приветствуется.