Форматирование тела письма в команде s-nail bash - PullRequest
0 голосов
/ 17 марта 2020

Я использую команду s-nail в своем скрипте для отправки электронных писем. Он делает свою работу хорошо и хорошо. Но я хочу отформатировать тело письма.

В настоящее время мое тело письма выглядит следующим образом:

Hi Team,
Below jobs completed successfully:
job1 job2 job3 job4

Было бы хорошо выглядеть, как показано ниже:

Hi Team,
Below jobs completed successfully:
job1
job2
job3
job4

Мой код выглядит следующим образом:

email_body="Hi Team,
Below jobs completed successfully:
${jobs[*]}"

email_subject="job details"

email_to="xxxxxxxx.com"

echo -e "${email_body}" | s-nail -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp="<smtp_server>:<smtp_port>" -S smtp-auth-user="<smtp_user>" -S smtp-auth-password="<smtp_password>" -r <from_address> -s "${email_subject}" -. "${email_to}"

Я хочу, чтобы мои элементы массива печатались построчно в теле письма.

Может кто-нибудь помочь мне здесь ...!

С уважением, Рохит

1 Ответ

1 голос
/ 17 марта 2020

Самый простой способ - это, вероятно, разделить переменную jobs на отдельные слова и выполнить итерации по ним либо с помощью функции, либо с помощью встроенного кода, поскольку я не уверен, каким образом заполняется $jobs, например:

jobs="job1 job2 job3"

split(){
for job in $jobs
do
    echo $job
done
}

email_body="Hi Team,
Below jobs completed successfully:
$(split)
"

echo "$email_body"

или

jobs="job1 job2 job3"

email_body="Hi Team,
Below jobs completed successfully:
$(for job in $jobs
do
    echo $job
done)"

echo "$email_body"

Оба выхода:

Hi Team,
Below jobs completed successfully:
job1
job2
job3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...