Я должен послать электронное письмо с форматом 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
Но в моем почтовом агенте я получаю только плоскость/текст.
Попробовать:
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
вы должны использовать перенаправление в режиме «добавить» >>
вместо >
Проблема в том, что при перенаправлении файла в "почту" таким образом он используется только для тела сообщения. Любые заголовки, которые вы вставляете в файл, вместо этого войдут в тело.
Попробуйте:
mail --append="Content-type: text/html" -s "Built notification" address@example.com < /var/www/report.csv
- append позволяет добавлять к письму произвольные заголовки, в которых вы должны указать тип содержимого и расположение содержимого.Нет необходимости встраивать заголовки To
и Subject
в ваш файл или указывать их с помощью --append, поскольку вы уже неявно устанавливаете их в командной строке (-s есть тема, а (скрытый) автоматически становится К
).