How to send HTML email using linux command line
Command Line
Create a file named tmp.html
with the following contents:
<b>my bold message</b>
Next, paste the following into the command line (parentheses and all):
( echo To: youremail@blah.com echo From: el@defiant.com echo "Content-Type: text/html; " echo Subject: a logfile echo cat tmp.html) | sendmail -t
The mail will be dispatched including a bold message due to the <b>
element.
Shell Script
As a script, save the following as email.sh
:
ARG_EMAIL_TO="recipient@domain.com"ARG_EMAIL_FROM="Your Name <you@host.com>"ARG_EMAIL_SUBJECT="Subject Line"( echo "To: ${ARG_EMAIL_TO}" echo "From: ${ARG_EMAIL_FROM}" echo "Subject: ${ARG_EMAIL_SUBJECT}" echo "Mime-Version: 1.0" echo "Content-Type: text/html; charset='utf-8'" echo cat contents.html) | sendmail -t
Create a file named contents.html
in the same directory as the email.sh
script that resembles:
<html><head><title>Subject Line</title></head><body> <p style='color:red'>HTML Content</p></body></html>
Run email.sh
. When the email arrives, the HTML Content
text will appear red.