How to send HTML email using linux command line
I need to send email with html format. I have only linux command line and command "mail".
Currently have used:
echo "To: [email protected]" > /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" [email protected] < /var/www/report.csv
But in my mail-agent i get only plain/text.
Solution 1:
This worked for me:
echo "<b>HTML Message goes here</b>" | mail -s "$(echo -e "This is the subject\nContent-Type: text/html")" [email protected]
Solution 2:
My version of mail does not have --append
and it too smart for the echo -e \n
-trick (it simply replaces \n with space). It does, however, have -a
:
mail -a "Content-type: text/html" -s "Built notification" [email protected] < /var/www/report.html