Как послать электронное письмо HTML с помощью командной строки Linux

Я должен послать электронное письмо с форматом HTML. У меня есть только командная строка Linux и команда "почта".

В настоящее время использовали:

echo "To: address@example.com" > /var/www/report.csv
echo "Subject: Subject" >> /var/www/report.csv
echo "Content-Type: text/html; charset=\"us-ascii\"" >> /var/www/report.csv

echo "<html>" >> /var/www/report.csv
mysql -u ***** -p***** -H -e "select * from users LIMIT 20" dev >> /var/www/report.csv
echo "</html>" >> /var/www/report.csv

mail -s "Built notification" address@example.com < /var/www/report.csv

Но в моем почтовом агенте я получаю только плоскость/текст.

alt text

58
задан codeforester 19 May 2017 в 02:34
поделиться

3 ответа

Попробовать:

echo "To: address@example.com" > /var/www/report.csv
echo "Subject: Subject" >> /var/www/report.csv
echo "MIME-Version: 1.0" >> /var/www/report.csv
echo "Content-Type: text/html; charset=\"us-ascii\"" >> /var/www/report.csv
echo "Content-Disposition: inline" >> /var/www/report.csv

echo "<html>" >> /var/www/report.csv
mysql -u ***** -p***** -H -e "select * from users LIMIT 20" dev >> /var/www/report.csv
echo "</html>" >> /var/www/report.csv

mail -s "Built notification" address@example.com < /var/www/report.csv
1
ответ дан 24 November 2019 в 18:44
поделиться

вы должны использовать перенаправление в режиме «добавить» >> вместо >

1
ответ дан 24 November 2019 в 18:44
поделиться

Проблема в том, что при перенаправлении файла в "почту" таким образом он используется только для тела сообщения. Любые заголовки, которые вы вставляете в файл, вместо этого войдут в тело.

Попробуйте:

mail --append="Content-type: text/html" -s "Built notification" address@example.com < /var/www/report.csv

- append позволяет добавлять к письму произвольные заголовки, в которых вы должны указать тип содержимого и расположение содержимого.Нет необходимости встраивать заголовки To и Subject в ваш файл или указывать их с помощью --append, поскольку вы уже неявно устанавливаете их в командной строке (-s есть тема, а (скрытый) автоматически становится К ).

8
ответ дан 24 November 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: