Я посылаю электронное письмо от cmd с msmtp для этого, я делаю
cat > test1 << EOF
>From: "Tester"
>test
>EOF
cat test1 | msmtp email@mail.com
Это работает в то время как:
echo -e 'From: "Tester"\ntest' > test2
cat test2 | msmtp email@mail.com
Не работает хотя
diff test1 test2
возвращенный ничто и оба
file -bi test1 test2
возвращенный те же результаты
message/rfc822; charset=us-ascii
Проблема в том, что вы не используете параметр -e
с вашей командой echo.
Попробуйте следующее:
echo -e 'From: "Tester"\ntest' > test2
cat test2 | msmtp email@mail.com
-e
указывает echo интерпретировать экранированные символы (например, "\ n").