Use o sed para remover caracteres:
echo -e "$releasenotes" | sed 's/\r//' | mail -s "$ALERT_EMAIL_SUBJECT" "$ALERT_EMAIL_ADDR"
Estou perdendo finais de linha ao enviar um email do Linux para o Windows usando 'mail'.
Eu tentei todas as maneiras de fazer isso, definindo o texto "corpo" de várias linhas como uma variável e, em seguida, colocando isso no correio, usando a entrada de estilo aqui-documento de um arquivo de texto em correio. De qualquer maneira, quando o email chega no Windows Outlook, perco todos os finais de linha.
releasenotes=$(tail -n5 ./ReleaseNote)
echo -e "$releasenotes" | mail -s "$ALERT_EMAIL_SUBJECT" "$ALERT_EMAIL_ADDR"
Posso confirmar que o arquivo ./ReleaseNote realmente possui as terminações de linha.
Eu tentei fazer uma conversão unix2dos, mas o email chega ao Outlook com um anexo .bin.
Alguém pode ajudar? Eu passei horas nesta noite.
Use o sed para remover caracteres:
echo -e "$releasenotes" | sed 's/\r//' | mail -s "$ALERT_EMAIL_SUBJECT" "$ALERT_EMAIL_ADDR"